Skip to content

Repository files navigation

📝 Student-Track

Student Track , a student-friendly application for academic needs.

🛠️ Tech Stack :

EJS  CSS  HTML  Mongodb  NodeJS  Express  Nodemon 

⭐ Benefits of using above Tech Stacks :

  1. MongoDb Atlas as a database (NoSQL databases have flexible data models, scale horizontally)
  2. Node Js for server( Node.js runs single-threaded, non-blocking, asynchronous programming, which is very memory efficient)
  3. Nodemon for automatic restarting server on every file changes
  4. EJS (Embedded JavaScript) is used due to its ability to create dynamic web pages with JavaScript, support for reusable components, server-side rendering (SSR) capabilities, seamless integration with Node.js, familiar syntax like HTML and include logic
  5. FullCalendar Javascript library to add feature of Calendar View
  6. Bcrypt ,JavaScript library for securely hashing passwords using the bcrypt algorithm. It offers a simple API for hashing and comparing passwords, ensuring strong security against attacks like brute-forcing and rainbow tables
  7. Nodemon is used to monitor for any changes in our source and automatically restart our server
  8. Mongoose in Node.js simplifies MongoDB interactions with schema-based modeling, validation, and query building, enhancing productivity and ensuring data consistency.
  9. Multer , Node.js middleware package, allowing users to upload files such as assignment or event attachments.

🔥 Features

  1. Authentication System
  2. Usage of Express Session(A layer built on the top of the Node js to manage servers and routes)
  3. MongoDB CRUD Operation
  4. EJS , Partials, Layouts
  5. Add , Edit, Delete, Search Filter for Events and Expenses and also attachmenmts using Multer Package
  6. Calendar View
  7. Syncing with Google Calendar only after setting up googlecalendarID and API credentials in .env file
  8. Uploading Grades and calculate GPA
  9. Add expenses (date, amount, category)
  10. Setting budget limit for category wise( like stationary, food, accomodation)
  11. Viewing categorywise by search filter

✏️ Installation and Setup

  1. Fork the Repo
  2. Clone the Repo:
$ git clone https://github.com/Hari-Kumar-A/Student-Track.git 
cd Student-Track/
  1. Install the packages:
npm install
  1. Setup env file, refer Google-Calendar API Integration
copy .env.example   .env
  1. Setup keys.json file, refer Google-Calendar API Integration
copy keys.json.example   keys.json
  1. Make sure, mongoDB is installed and is connected.

The server should be running at your 127.0.0.1 port 3002 (or the port specified in .env).


📎 Resources


📷 ScreenShots

image image image image image image image

About

Full-stack academic planner featuring role-based access controls, JWT authentication, and interactive calendar boards. Engineered for NITT coursework planning.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages