Imperial_Predict

ImperialPredict

ImperialPredict is a comprehensive grade tracking, past paper analytics, and degree strategy platform built specifically for Imperial College London students. It replaces disconnected spreadsheets and manual calculations with one secure workspace for monitoring academic progress, predicting outcomes, and planning grade scenarios.

The active application is located in imperialpredict-v2/.

Features

Tech Stack

ImperialPredict V2 uses:

Architecture

The Next.js application follows the App Router structure:

imperialpredict-v2/
├── app/          # Routes, layouts, metadata, and server actions
├── components/   # Shared interface and dashboard components
├── lib/          # Supabase clients and grade calculation utilities
├── public/       # Static assets
└── types/        # Shared TypeScript definitions

Private dashboard routes use Supabase authentication and Row Level Security. Browser, server, and administrative Supabase operations use separate clients appropriate to their security context.

Getting Started

Prerequisites

Local Development

Clone the repository and install the V2 dependencies:

git clone https://github.com/Sohan-Suchdev/Imperial_Predict.git
cd Imperial_Predict/imperialpredict-v2
npm install

Create imperialpredict-v2/.env.local and configure the required Supabase environment variables:

NEXT_PUBLIC_SUPABASE_URL=your-supabase-project-url
NEXT_PUBLIC_SUPABASE_ANON_KEY=your-supabase-anon-key
SUPABASE_SERVICE_ROLE_KEY=your-supabase-service-role-key

The service role key is used only by secure server-side administrative actions. Never expose it in client-side code or commit .env.local to version control.

Start the development server:

npm run dev

Open http://localhost:3000 in your browser.

Available Scripts

Run these commands from imperialpredict-v2/:

npm run dev    # Start the local development server
npm run lint   # Run lint checks
npm run build  # Create a production build
npm run start  # Run the production build

Production

The application is designed for deployment on Vercel. Configure the same Supabase environment variables in the deployment environment and replace placeholder production URLs in the Next.js metadata, sitemap, and robots configuration before launch.

Disclaimer

ImperialPredict is an independent, unofficial tool. It is not affiliated with, endorsed by, or connected to Imperial College London. Grade predictions are estimates; students should consult official departmental information for authoritative academic guidance.