API for Schedura
The API is a basic REST API written to be called by the App built under Android Study Jams 2021. We built this API under the Org. Google Developer Student Club - DSI. There is basic work of the API is to provide routes to GET and POST the timetable of different classes that are conducted on our college campus. This app provides the data for the classes happening at Dayananda Sagar College of Engineering, Bangalore in real-time. This is still a system in development.
This project proposes an “Attendance Manager System” which also has a “Digital Time Table” in it.
The attendance management system allows students to track their attendance in any subject of their choice. They just have to add the subject of their choice and mark attended or missed for each class they have. Then the app will automatically generate and display a progress bar indicating their attendance percentage.
The digital timetable takes data from users like – year, branch & semester. Then it fetches & displays the timetable for the given data. Students get their class schedule in a few clicks, that too in a hassle-free manner.
Minimun requirements:
- Node.JS v14+
- MongoDB Databse (Local/Remote)
- Any Code Editor
- Internet Browser
- Internet
- First make sure your laptop has Docker
- Open terminal, run
docker pull kitarp29/gdsc_dsi_api:1.0
- Run
docker run -e DATABASE_URL -d --name pk -p 5000:5000 kitarp29/gdsc_dsi_api:1.0
- The API is running at http://localhost:5000/
- Clone the Repo
- Open in any code editor
- In index.js replace
process.env.DATABASE_URL
with the URL of your MongoDB Database - In your terminal, run:
npm i
(supposing you have npm, commands might differ for yarn) - Now, run:
nodemon index.js
This should start a server running at http://localhost:5000/
- Always commit to
main
branch - Make descriptive issues
- Make a fork and then make a Pull Request
- NodeJS Version v14.18.2
- Heroku for Deploying API
- MongoDB Atlas for Database
- Make logging procedure for each request
- Containerise the API Server
- Deploy it in a K8s Cluster
- Add Monitoring tools for the server like ELK, Prometheus, and Grafana