# 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.
