Student Profile Management System

A comprehensive student portal built on Val Town with profile management, academics tracking, financial information, social features, and document repository.

Features

  • Profile Management: View and edit student profiles with database persistence
  • Academics: Track units, examinations, and academic progress
  • Finances: Manage fee payments and view fee structures
  • Socials: Events, news, clubs, and projects
  • Repository: Access to logbooks, insurance, and mentor letters

Project Structure

├── backend/
│   ├── index.ts           # Main Hono server
│   ├── database/
│   │   ├── schema.ts      # Database schema and migrations
│   │   └── queries.ts     # Database query functions
│   └── routes/
│       ├── profile.ts     # Profile management routes
│       ├── academics.ts   # Academic data routes
│       ├── finances.ts    # Financial data routes
│       ├── socials.ts     # Social features routes
│       └── repository.ts  # Document repository routes
├── frontend/
│   ├── index.html         # Main profile page
│   ├── components/
│   │   ├── ProfileEditor.tsx  # Profile editing component
│   │   └── OptionModals.tsx   # Enhanced option modals
│   └── style.css          # Styles
└── shared/
    └── types.ts           # Shared TypeScript types

Setup

  1. The backend automatically creates the database tables on first run
  2. Access the profile page at the root URL
  3. Use the API endpoints to manage data

API Endpoints

  • GET /api/profile/:id - Get student profile
  • PUT /api/profile/:id - Update student profile
  • GET /api/academics/:studentId - Get academic data
  • GET /api/finances/:studentId - Get financial data
  • GET /api/socials/events - Get events
  • GET /api/repository/:studentId - Get documents