Skip to content

richardp23/mock-student-information-system

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Mock Student Information System

A full-stack web application demonstrating a university student information system with course registration, prerequisite checking, and waitlist management.

Prerequisites

  • Docker and Docker Compose
  • For AWS deployment: AWS CLI v2 with SSO configured

Local Development Setup

  1. Clone the repository:
git clone https://github.com/yourusername/mock-student-information-system.git
cd mock-student-information-system
  1. Build and start the containers:
docker compose build && docker compose up -d
  1. Access the application:

Rebuilding the Project

If you need to rebuild the project:

docker compose down && docker compose build && docker compose up -d

Add --no-cache flag if you need to rebuild from scratch:

docker compose down && docker compose build --no-cache && docker compose up -d

Demo Accounts

The system comes with pre-seeded student accounts. You can log in using any of these email addresses:

Password authentication is disabled for demo purposes. You can just type in any password.

Project Structure

.
├── backend/                 # Node.js + TypeScript backend
│   ├── database/           # MySQL schema and seed data
│   └── src/               
├── frontend/               # Next.js frontend
│   └── src/               
├── infrastructure/         # AWS Infrastructure as Code
└── docker-compose.yml      # Local development configuration

AWS Deployment (Incomplete)

The infrastructure/ directory contains an incomplete AWS deployment setup using CloudFormation. While not fully functional, it demonstrates the intended architecture:

  1. Configure AWS SSO (recommended):
aws configure sso
  1. Deploy infrastructure (when complete):
cd infrastructure/v1
./deploy.sh
  1. Clean up resources:
./cleanup.sh

Note: The AWS deployment is currently incomplete and would require:

  • Proper VPC and networking setup
  • ECS cluster configuration
  • ECR repositories for container images
  • RDS for MySQL database
  • Load balancer and target groups
  • IAM roles and policies

Development Notes

  • The frontend uses Next.js 14 with TypeScript and Tailwind CSS
  • The backend uses Node.js with TypeScript and Express
  • Database is MySQL 8 with a focus on academic data modeling
  • All components are containerized for consistent development environments

License

MIT

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published