Files
WinStudentGoalTracker/README.md
T
2026-03-16 18:46:06 -07:00

207 lines
4.1 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.
------------------------------------------------------------------------
# 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.