diff --git a/docs/technical.html b/docs/technical.html new file mode 100644 index 0000000..8c3b2eb --- /dev/null +++ b/docs/technical.html @@ -0,0 +1,296 @@ + + + + + +WIN Student Goal Tracker - Technical Documentation + + + + + + +
+

Technical Documentation

+

WIN Student Goal Tracker Architecture and Implementation

+
+ +
+ +
+

System Overview

+

+The WIN Student Goal Tracker is a containerized web application designed to allow +teachers and program staff to track student progress, goals, benchmarks, and +events. The system follows a modern multi-tier architecture separating the +frontend interface, backend services, and database layer. +

+
+ +
+

System Architecture

+ +

The system architecture is organized into four main components:

+ +
+Browser
+   │
+   ▼
+Angular Frontend
+   │
+   ▼
+Traefik Reverse Proxy
+   │
+   ▼
+.NET Core API
+   │
+   ▼
+MySQL Database
+
+ +
+ +
+

Technology Stack

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
LayerTechnologyPurpose
FrontendAngular 20User interface and client-side logic
Backend.NET Core 9.0 (C#)Business logic and REST APIs
ORMDapperLightweight database access
AuthenticationJWT + Refresh TokensSecure user authentication
DatabaseMySQLPersistent data storage
InfrastructureDocker ContainersApplication deployment
Reverse ProxyTraefikRouting and SSL certificate management
+ +
+ +
+

Authentication

+ +

+The application uses JSON Web Tokens (JWT) for authentication. +After login, the server generates a JWT token which is used to authenticate +subsequent API requests. +

+ + + +
+ +
+

Database Design

+ +

The MySQL database stores the application data for students and progress tracking.

+ + + +

+The backend uses Dapper ORM to execute SQL queries and map results +to application objects. +

+ +
+ +
+

Infrastructure

+ +

+The system is deployed using Docker containers on a Virtual Private Server (VPS). +Each component runs in its own container to maintain separation and scalability. +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
ContainerFunction
AngularFrontend application
.NET Core APIBackend services
MySQLDatabase server
TraefikReverse proxy and SSL manager
+ +
+ +
+

Deployment

+ +

+The application is deployed using Docker containers orchestrated on a VPS. +Traefik automatically handles HTTPS certificates and routes traffic to the +appropriate container. +

+ +
+User Browser
+   │
+   ▼
+Traefik Reverse Proxy
+   │
+   ├── Angular Container
+   │
+   └── .NET Core API Container
+            │
+            ▼
+         MySQL Container
+
+ +
+ +Back to Project Home + +
+ + + + +