CS5610 Project 2 - E-Business Card
Author: Chun-We Tseng, Kuan-Tsa Chen
Link to Home Page: https://ebusinesscard.herokuapp.com/?fbclid=IwAR3bHnEouHaaj2g43lRoxOc5ipkwHoI2nKth-Fry7oTWuqXh9HTNYkJMt0U
Class Link: https://johnguerra.co/classes/webDevelopment_fall_2022/
This is a web app with simple backend with Node.js, Express, Mongo, HTML5. The backend runs a Express server which talks to a remote mongoDB Atlas server. The frontend communicates with the backend Express server via route (route folder) as the entry point.
To download the project, simply git clone, or download the .zip file from github. Once downloaded to your local machine:
To spin up backend/frontend server, go into the backend/frontend folder, and do the following:
- Download all dependencies:
npm install
- Then start server, using:
npm start
For security purposes, we will not provide mongoDB connection URL, so you will need to either create a local database, or remote one. The recipes.csv data file will be provided in the repo for you to import to the database.
To import the .csv file into local mongoDB database:
- Download mongo database tools, with this link MONGO DATABASE TOOLS
- Then import csv to database via:
mongoimport -d [Database name] -c [Collections name] --type csv --file [locations of csv file] --headerline
This website that provides functionality:
- A visitor can register to become an user. Once becoming an user, he/she can login or logout, and access the profile (wallet) page, which contains his/her own business card and others' business cards that was created by the user.
- An user can delete any business card in his wallet, including his/her own card. a user cannot delete other people's reviews.
- A user can update all information besides the name on the business card in his own wallet. All the business cards that a user has in his/her wallet will show up on the home page if the user is logged in, otherwise default images are displayed.
Our website is host on Heroku. We used AWS as our cloud service provider, and used EC2 instances as our servers for both backend and frontend.