- Clone the repository using
git clone
and then change the directory to root of the project
git clone https://github.com/gkalyan04/innovaccer-summergeeks-20.git
cd innovaccer-summergeeks-20
- Use
npm
oryarn
to install dependencies for the project
yarn
OR
npm install
-
Make sure, MongoDB is running. If not installed, then install from here.
-
Setup NodeMailer and Twilio SMS Api configuration. Just go to
routes.js
, then simply enter your configuration. -
Run the program either by
npm
oryarn
using
yarn start
OR
npm start
The console logs the following if the app is running properly
Connected to database at: mongodb://localhost:27017/database
- Navigate to
http://localhost:5000
Note: The folder tree does not include sub-directories for common/generated folders. For example -
node_modules
.
─── innovaccer-summergeeks-20
├── public
│ └── style.css
├── views
│ └── partials
│ └── nav.ejs
│ └── checkin.ejs
│ └── checkout.ejs
│ └── error.ejs
│ └── host.ejs
│ └── success.ejs
├── app.js
├── routes.js
└── package.json
Demo Video (https://youtu.be/l1uFaHDqc-o)
Event Management Service is based on an idea which stores data of a visitor and host in the database and as the data is saved timestamp is also stored as well. SMS and E-mail is sent to the host consisting the details of visitor. When a session is ended, the timestamp is also stored and then mail is send to the visitor via node-mailer and sms via twilio. Once a session has ended user is not allowed to change the timestamp.
Database 'user' and it's Collections are designed as following:
- Visitor: Contains details specific to the visitors.
─── visitor
├── name
├── email
├── phone
├── check_in_time
└── check_out_time
- Hosts: Contains details specific to the hosts.
─── host
├── name
├── email
└── phone