Skip to content
This repository has been archived by the owner on Oct 1, 2021. It is now read-only.

DylanB5402/tarocard

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TC Logo

Prologue

Since the dawn of man, the first Australopithecus to have ever wandered the Earth continually looked for ways to share (to their friends) knowledge of their favorite boba tea.

Taro Cards

Taro Cards is an webapp designed to cater to the needs of drink lovers who want to share their current favorites among their friends.

Features

  • Fully featured account creation
    • Username and password login
    • Editable user display name
    • Profile picture and profile banner upload
    • Profile page display
  • Add and remove new friends
    • Search for friends
    • Get notifications for incoming friend requests
    • See your friends' favorite drinks
  • Add / Edit / Remove / Star "drink cards" of your favorite drinks
    • Add custom drink names
    • Display these "drink cards" to your profile to show off to friends
    • Scan through a database of over 2000 San Diego establishments
  • Create group orders to manage favorites from multiple friends

Local Development

  1. Clone this repository into a new directory using git
$ git clone https://gitlab.com/sdsc-rds/rds-interns-su21/ahjintpcc/tarocard.git
  1. Make sure that Node.js (Latest LTS Version) is installed on your computer
  2. Inside the new directory, use node package manager to install all dependencies
$ npm install
  1. Make a databases folder at the root level of the repository
$ mkdir databases
  1. Get a Yelp API Key
  2. Create a .env file with the contents
YELP_API_KEY = <YOUR_API_KEY>
  1. Fill the database with valid establishments from Yelp
$ npm run establishments
  1. Run the node.js app
$ npm start

Testing

Debug pages are available at <url>/debug to make it easy to add test users, view users and friend data, and add users as friends without logging into those users.

Unit tests are written using the Mocha and Chai testing libraries.

Populate the database with sample users

$ npm run populate

npm run populate populates the database with 10 test users with the following emails:

The password for each of these users is ‘password’.

Then run the mocha testing suite

$ npm run test

Project Structure

Taro Cards is written in the standard Model-Routes-Controllers-Services model.

routes

root
├── app/
│   ├── controllers/
│   │  contains JS files linking database classes to routes
│   │
│   ├── models/
│   │   └── database/
|   │      contains JS files that define database classes and their functions
│   │
│   └── routes/
│      contains JS files with routes
│
├── databases/
│  contains SQLite3 database files
│
├── scripts/
│  contains scripts for populating databases
│
├── static/
│  contains static HTML/CSS/JS files for the website
│
├── templates/ 
│  contains Pug templates for pages
│
├── test/
│  contains unit tests for the server backend
│
└── app.js

Future Plans

Taro Cards is dead

About

Mirror of the project I worked on for the 2021 SDSC RDS Summer Internship Program

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published