Skip to content

trackitward/.github

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 

Repository files navigation

TrackIt

Trackit logo

A web application that allows students to submit their units to teachers for them to accept or reject them


Table of Contents


Demo Vids

Full Playlist


Teacher Side

Unit Submissions

The following prompt allows teachers to input the unique code they receive from students. Unit Submission Empty

Here is an example of a code: Unit Submission Full

Unit Acceptance/Rejection

After inputting the unique code received from the student, the teacher can view all the information of the submission including student name, course code, section number, unit number, and the last date the student submitted a unit. The teacher can then accept or reject the unit submission using the checkmark or cross button respectively. Teacher Side Submission


Student Side

Student Login

When clicking "login" from the landing page, students are prompted to this page:

Login Page

Students can input their student number (Mary Ward student number) and password (students can choose their password) to login to Trackit.

Student Login

The Unit Tracker

The main feature of the application, the unit tracker, is similar to the unit tracker found in the agenda. On the first column on the left, students can see the courses they are enrolled in. Each column afterwards are the units. Students can see the number of units they have completed in each course.

Unit Tracker

How to Generate a Unit Submission Code

By clicking on the course and unit of choice, students will be prompted to the following:

Unit Submission

This page includes all the information of the unit submission including student name, course code, section number, unit number, and last date of submission (note: last submission date is not shown for this example as no other units were submitted).

The number on the right is the submission number which should be given to the subject teacher.

The submission number expires in 2 minutes and every code is unique and random for security reasons.


Landing Page

Picture of the landing page: Landing Page

The "Student Login" and "Teacher Login" button on the top allows for students and teachers to log in to the application.

Founders:


Code

Front End

Written in pure HTML/CSS/Javascript. Using Javascript allowed us to create HTTP requests to our API that would be able to show the data to the users in a easy to access way.

Back End

The backend of the project is written in pure Golang. It provides a feature-rich HTTP API to the front-end and handles all information going through the TrackIt app. There are many safety features built-in, including rate limits to prevent the API from being attacked by large amounts of requests at a time.

  • Click on the links below to go to important front-end files

    • main.go

      Control the main function of the API and route all the traffic through the correct endpoints

    • unit-submission.go

      Control the unit submission process by managing the user files

    • auth.go

      Control authentication and logins

    • student.go

      Control student files and manage their profile and units files

    The backend stores information in JSON files saved with unique file names. The benefit to this way of doing storage is that it allows for the data to easily be written and read from the API. As well, it makes it easy to parse and pass over through the internet.

    Passwords for each user are HASHED and SALTED using a well known encryption algorithm known as bcrypt. This means that the users password is never logged in plain text, which highly increseas security as the files containing passwords have extra protection.


About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •