mirror of
https://github.com/opelly27/WinStudentGoalTracker.git
synced 2026-05-20 01:47:41 +00:00
d0c467a26a
Added information about reserving a login email and site details.
216 lines
4.7 KiB
Markdown
216 lines
4.7 KiB
Markdown
# WIN Student Goal Tracker
|
|
|
|
|
|
The **WIN Student Goal Tracker** is a web-based platform that helps
|
|
teachers and program staff manage students, track goals, define
|
|
benchmarks, and record progress events.
|
|
|
|
This project was developed as part of the **Computing for Good (C4G)**
|
|
initiative.
|
|
|
|
------------------------------------------------------------------------
|
|
|
|
# Peer Reviewers
|
|
|
|
Check out the instructions and [survey here](https://docs.google.com/forms/d/e/1FAIpQLSc53xGhgQvq-ory-oU7sQ8M09nl_jJfPLh-1ABgjcfLxKNDHQ/viewform?usp=publish-editor)
|
|
|
|
Thanks for reviewing our project. To reserve a login email address, go to the [reservation page](https://docs.google.com/spreadsheets/d/1051YfaPs00l0q9iTB2zqYXtPOV6qGr23lhSmrfAjm3o/edit?gid=0#gid=0) and following the instructions there to reserve a login credential. Our site is located at https://win.opelly.me, and the password for all reviewer logins is 1234
|
|
|
|
|
|
------------------------------------------------------------------------
|
|
|
|
# Live Prototype
|
|
|
|
Access the deployed prototype:
|
|
|
|
https://win.opelly.me
|
|
|
|
Demo credentials:
|
|
|
|
Email: opelly@gmail.com\
|
|
Password: 1234
|
|
|
|
------------------------------------------------------------------------
|
|
|
|
# Key Features
|
|
|
|
## User Authentication
|
|
|
|
- Secure login system
|
|
- JWT authentication with refresh tokens
|
|
- Program-scoped authorization
|
|
|
|
## Student Management
|
|
|
|
- View assigned students
|
|
- Add new students
|
|
- Track graduation dates
|
|
|
|
## Goal Management
|
|
|
|
- Create and manage goals
|
|
- Associate goals with individual students
|
|
|
|
## Benchmarks
|
|
|
|
- Define milestones within a goal
|
|
- Break goals into measurable steps
|
|
|
|
## Progress Events
|
|
|
|
- Record achievements and activities
|
|
- Maintain historical progress logs
|
|
|
|
------------------------------------------------------------------------
|
|
|
|
# System Architecture
|
|
|
|
User Browser\
|
|
↓\
|
|
Angular Frontend (Web Client)\
|
|
↓\
|
|
Reverse Proxy (SSL + Routing)\
|
|
↓\
|
|
.NET Core API (Business Logic)\
|
|
↓\
|
|
MySQL Database
|
|
|
|
------------------------------------------------------------------------
|
|
|
|
# Technology Stack
|
|
|
|
## Frontend
|
|
|
|
Angular 20
|
|
|
|
Responsibilities: - UI rendering - API communication - Form validation -
|
|
Responsive design
|
|
|
|
## Backend
|
|
|
|
.NET Core 9.0 (C#) with **Dapper ORM**
|
|
|
|
Responsibilities: - Business logic - Goal and benchmark management -
|
|
Student progress tracking - REST API endpoints
|
|
|
|
## Authentication
|
|
|
|
JWT Authentication with Refresh Tokens
|
|
|
|
Features: - Token-based authentication - Refresh token lifecycle -
|
|
Program-scoped authorization
|
|
|
|
## Database
|
|
|
|
MySQL relational database storing:
|
|
|
|
- Users
|
|
- Programs
|
|
- Students
|
|
- Goals
|
|
- Benchmarks
|
|
- Progress Events
|
|
|
|
------------------------------------------------------------------------
|
|
|
|
# Infrastructure
|
|
|
|
The system runs in **four Docker containers** on a VPS.
|
|
|
|
Container Purpose
|
|
--------------- ---------------------
|
|
Angular Web frontend
|
|
.NET Core API Business logic
|
|
MySQL Database
|
|
Traefik Reverse proxy + SSL
|
|
|
|
------------------------------------------------------------------------
|
|
|
|
# User Guide
|
|
|
|
## Login
|
|
|
|
Navigate to:
|
|
|
|
https://win.opelly.me/login
|
|
|
|
Enter email and password and click **Sign in**.
|
|
|
|
## Select Program
|
|
|
|
Choose:
|
|
|
|
WIN Program -- Teacher (Primary)
|
|
|
|
## Student Dashboard
|
|
|
|
The dashboard displays all assigned students with:
|
|
|
|
- Student identifier
|
|
- Graduation date
|
|
- Number of goals
|
|
- Number of progress events
|
|
- Last activity date
|
|
|
|
## Add Student
|
|
|
|
1. Click **+ Add a Student**
|
|
2. Enter identifier
|
|
3. Enter expected graduation date
|
|
4. Click **Add Student**
|
|
|
|
## Goals
|
|
|
|
Each student can have multiple goals that track academic or program
|
|
milestones.
|
|
|
|
## Benchmarks
|
|
|
|
Benchmarks break goals into measurable steps.
|
|
|
|
Example:
|
|
|
|
Complete Computing for Good
|
|
|
|
## Progress Events
|
|
|
|
Events document activities related to a goal.
|
|
|
|
Example:
|
|
|
|
Took C4G -- loved it!
|
|
|
|
------------------------------------------------------------------------
|
|
|
|
# Project Structure
|
|
|
|
WinStudentGoalTracker ├── frontend ├── backend ├── database ├── docker
|
|
└── README.md
|
|
|
|
------------------------------------------------------------------------
|
|
|
|
# Contributors
|
|
|
|
| Name | Role |
|
|
|--------------|--------------------------------|
|
|
| Raul Rosado | Infrastructure & Governance |
|
|
| Armin Abaye | UX/UI & Product Strategy |
|
|
| Ivan Pelly | Full Stack Development |
|
|
| Oliver Pelly | Backend & Security |
|
|
| Vraj Patel | Front-End, Integration & AI |
|
|
|
|
------------------------------------------------------------------------
|
|
|
|
# Partner Organization
|
|
|
|
WIN Program
|
|
|
|
The WIN Student Goal Tracker supports teachers in tracking student
|
|
goals, benchmarks, and progress events.
|
|
|
|
------------------------------------------------------------------------
|
|
|
|
# License
|
|
|
|
Educational and research use.
|