Skip to content

A collection of useful tools for university students. This project was developed by Snacc Overflow for SOFTENG 310 at The University of Auckland.

License

Notifications You must be signed in to change notification settings

hayley9080/student-toolbox

 
 

Repository files navigation

Student Toolbox Logo

✏️ Student Toolbox 📖

v1.21.0

Student Toolbox is a web application designed to make student life easier by organizing their schedule, calculating their grades, and managing the tasks that they need to complete.

Getting Started 🚀

These instructions will get you a copy of Student Toolbox up and running on your local machine for development and testing purposes.

Prerequisites ✔️

Install the following software:

  1. Node.js: A JavaScript runtime built on Chrome's V8 JavaScript engine.
  • Download Node.js

  • Installation instructions are available on the download page.

  • Verify installation with:

node -v
  1. npm: Node package manager, included with Node.js.
  • Verify installation with:
npm -v
  1. Git: A version control system for tracking changes in source code.
  • Download Git

  • Installation instructions are available on the download page.

  • Verify installation with:

git --version
  1. A modern web browser: Such as Google Chrome or Mozilla Firefox.
  1. An Integrated Development Environment (IDE): Such as Visual Studio Code.

Installing

A step-by-step series of examples that tell you how to get a development environment running:

  1. Fork the repository

  2. Clone the forked repository

  3. Install dependencies:

npm install

Running

npm run  dev

Running the tests

Connecting to the database

We use a MongoDB Atlas cluster to store user data:

  1. Contact a team member to get the connection string.
  2. Add the connection string to your .env.local as MONGODB_URI=<connection string>.
  3. Modify the User schema in /lib/mongodb/mongodb.js to specify the data types you want to store.
  4. Use the Mongoose API to push changes to the database.
  5. Install mongosh (CLI) or MongoDB Compass (GUI) to inspect database contents.

Authentication

We use Auth.js to provide authentication and session management:

  1. Contact a team member to get the authentication secret
  2. Add the secret to your .env.local as AUTH_SECRET=<secret>.
  3. To register a new user, navigate to /register and enter a username and password.
  4. To sign in, use the button in the sidebar and enter user credentials.

Deployment

Built With 🛠️

  • Next.js - The React framework used

  • Node.js - JavaScript runtime

  • npm - Dependency Management

Contributing

Please read the contributor guidelines for details on contributing and the code of conduct for expected behaviour.

Helpful documentation

  • Full calender (Official documentation of the calender component used in the time table page)
  • Google map api For the campus map functionality to work correctly, add NEXT_PUBLIC_GOOGLE_MAPS_API_KEY to .env file. And ensure that 'Routing', 'Places API' and 'Google Maps JavaScript API' are enabled.

Versioning

Versioning system: Semantic versioning Version control: Git

Authors

License

MIT License

About

A collection of useful tools for university students. This project was developed by Snacc Overflow for SOFTENG 310 at The University of Auckland.

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 78.1%
  • CSS 21.9%