This project is live on this link https://entry-management-softwar-c46e5.firebaseapp.com/?
Tech Stack Used:
- HTML
- CSS
- Bootstrap 4
- JavaScript
- Node.js
- Express.js
- MongoDB with Mongoose
- Sendgrid API for Emails
- Heroku for REST API deployment
- Firebase for serving the Front-End.
Approach
Building the API
- This project uses Node and Express setup to build the REST API.
- Hosts and Visitors have two different endpoints which can handle the requests coming from front-end about adding new host or adding new visitors.
- This is done by using MongoDB as a database and npm Mongoose package.
- MVC Pattern is used here.
- For models, there is different models for both Host and Visitor.
- We need to add the host at first before adding the visitors.
- After host is setup everytime a new visitor is added, an email is sent to host with details of visitor.
- After visitor checkout, an email is sent to visitor with details of his visit.
- The REST API is deployed on Heroku.
Building the Front-End.
- Designing the homepage with HTML/CSS/Bootstrap 4.
- JavaScript is used to Manipulate the DOM according to Host is present or not.
- Form validation is added for Host Form and Visitor Form.
- At start-up first check is done whether Host is already there or not.
- If host is not there add the host.
- Add the new visitor via form.
- An email is sent to Host with visitor details by Back-End.
- An email is sent to visitor with details of visit after the checkout.
- Deployed on Firebase to serve the content.
If Link Doesn't work follow these steps to run the project
- Clone the project.
- Go to the client folder and open "index.html".