Skip to content

gitparth12/unitrack

 
 

Repository files navigation

UniTrack

Table of Contents

Overview

This project was initiated for Coding Fest 2023 by Udit Samant, Jennifer Tan, Devanshi Mirchandani, and Parth Bhargava. The purpose of UniTrack is to present a university services platform with a better user experience, mainly targeting degree planning, unit selection, and time table selection.

The initial tech stack was NextJS with Firebase, however for a revamp of the project, we decided on Django and SQLite with HTML and CSS.

We welcome any collaboration and contributions from the public to this project, please refer to the open source contribution section.

Getting Started / Installation

SSH authentication is recommended, visit this link for more information.

  1. Clone the repo using git clone --recurse-submodules git@github.com:USYDUniTrack/unitrack.git
  2. cd into the unitrack/ directory and run git config submodule.recurse true. This will allow you to recursively pull changes to the scrape submodule every time you pull.
  3. Create python virtual env using python -m venv venv
  4. Activate environment using source venv/bin/activate
  5. Install dependencies using python -m pip install -r requirements.txt

You're all set! Keep in mind that you should activate the python env before every development session, and deactivate any other environments that might be active, eg. default conda deactivate base. If you're on a UNIX system, the included start.sh script can be run to start the server; however need to run chmod +x start.sh once to give execute permissions.

Contributing

Read the guidelines below to write good commit messages, branch names, and make pull requests that follow the conventions we will be using throughout the project.

Commit Messages

  • Capitalise the subject line.
  • Do not end with a period.
  • Use imperative mood, i.e. instead of "Added ..." write "Add ...".
  • Keep messages logical and relevant, do not write things like "Please work" or "I hate frontend". To help decide the extent of this, imagine trying to access a point in the project 2 weeks ago, it would be better to have something like "Add CSS for Navbar template" or , so that we know from a glance what the commit is for.
  • For more detailed messages, use git commit -m <title> -m <description>, however short and concise is still preferred.

Branch Names

Make a branch using git checkout -b <branch_name>.

  • Names fall under one of 4 categories
    • Minor Feature: minor-FeatureName
    • Major Feature: major-FeatureName
    • Patch: patch-PatchName
    • Miscellaneous: name
      • For example documentation for changing the README, or adding another markdown

Pull Requests

Summarised from this article.

Title

  • Short and descriptive summary
  • Start with corresponding ticket/story id (e.g. from Jira, GitHub issue)
  • Should be capitalized and written in imperative present tense
  • Do not end with period
  • Suggested format: #<Ticket_ID> PR description

Description

  • Separated with a blank line from the subject
  • Explain what, why, etc.
  • Max 72 chars
  • Each paragraph capitalized

Example Pull Request

This pull request is part of the work to make it easier for people to contribute to naming convention guides. One of the easiest way to make small changes would be using the Edit on Github button.

To achieve this, we needed to:
- Find the best Gitbook plugin which can do the work
- Integrate it in all the pages to redirect the user to the right page on GitHub for editing
- Make it visible on the page so users can notice it easily

Open Source

Follow the steps below to suggest a patch or a feature for this project. For information on naming conventions for pull requests or commits, read the rest of the contributing section above.

  1. Fork the repo
  2. Create your Feature Branch: git checkout -b <branch_name>
  3. Commit your Changes
  4. Push to the Branch: git push origin <branch_name>
  5. Open a Pull Request

Developing Team

About

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • HTML 41.5%
  • Python 28.2%
  • SCSS 28.0%
  • Dockerfile 1.5%
  • Shell 0.8%