drinksapHe is a project developed during the Software Engineering course. The core functionality of this project is to monitor the pH level of drinking water in various water coolers in the Computer Centre 2 of IIIT Allahabad.
“DrinkSapHe©” aims to improve the efficiency of water cooler maintenance process, starting with water coolers of CC3, and perhaps later expanding to the other water coolers of the campus of IIIT-Allahabad. Real-time reporting of water quality levels will reduce the time it takes to regularly check the quality manually. The in-built reporting feature makes it easier for students to report problems to the maintenance team.
- Frontend - ReactJS
- Backend - NodeJS, ExpressJS
- Database - MongoDB
- VS Code / Atom - for developing.
- Postman - for testing the API
- MongoDB Compass / Robo3T - for visualising the database.
- Mongoose - for easier modelling of database schemas in MongoDB.
- bcryptjs - for secure storage of passwords.
- Nodemailer - for automating the sending of emails.
- create-react-app - for initialising react app.
- react-bootstrap and bootstrap - for responsive design templates.
- NodeJS
- NPM
- MongoDB
Open git bash
and navigate to your preferred directory.
git clone https://github.com/sanskar-p/Sem4-SE-Project.git
cd Sem4-SE-Project
Create a second terminal instance and navigate to the above directory.
cd server
npm install
npm start
cd client
npm install
npm start
If your default browser does not launch automatically, open a browser tab and navigate to localhost:3000
.
The Backend API will be running at localhost:8080
.
Create another terminal instance and navigate to the server directory. Now, to initialise the database collection, run the following command:
npm run initDrinksaphe
Next, you're going to have to generate an admin user for yourself.
npm run createAdmin
This command will generate admin credentials in your database. Now you can login using these credentials. The admin user has full access to all functionalities of the app, ranging from creating new users to setting the alert interval.
Setup is complete! (Yay?)