Skip to content

NandaKyaw01/student-grading-system

Repository files navigation

🎓 UCSH Student Grading System

A modern web application for managing student grades at the University of Computer Studies, Hinthada (UCSH). Built using Next.js, Prisma, Tailwind CSS, and shadcn/ui for a fast, scalable, and user-friendly experience.


🚀 Tech Stack

  • Next.js 15 – Full-stack React framework
  • Prisma ORM – Type-safe database access
  • Tailwind CSS – Utility-first CSS
  • shadcn/ui – Prebuilt UI components with Radix & Tailwind
  • TypeScript – Safer and predictable codebase

📦 Full Project Setup Guide

Follow these steps to get the project running locally.


✅ 1. Clone the Repository

git clone https://github.com/your-username/ucsh-grading-system.git
cd ucsh-grading-system

✅ 2. Install Dependencies

npm install

✅ 3. Create Environment Variables

Create a .env file at the project root and configure the database and secret keys:

# .env

# Prisma Database URL (PostgreSQL example)
DATABASE_URL="postgresql://user:password@localhost:5432/ucsh_grading"

# Optional: other envs

✅ 4. Set Up the Database with Prisma

a. Generate the Prisma Client

npx prisma generate

b. Create Database & Apply Migrations

npx prisma migrate dev --name init

c. (Optional) Seed the Database

npx prisma db seed

✅ 5. Run the Development Server

npm run dev

🗂️ Folder Structure

.
├── .vscode/                 # VSCode settings
├── public/                  # Static assets
│   └── assets/
│       └── image/
├── src/                     # Source code
│   ├── app/                 # Next.js App Router pages and routes
│   ├── components/          # Reusable UI components
│   ├── lib/                 # Database helpers, utilities, config
│   │   └── prisma.ts        # Prisma client setup
│   └── styles/              # Tailwind & global CSS
│       └── globals.css
├── prisma/                  # Prisma schema and migrations
│   ├── schema.prisma
│   └── seed.ts              # Optional seed script
├── .env                     # Local environment variables
├── tailwind.config.ts       # Tailwind CSS configuration
├── next.config.ts           # Next.js configuration
├── tsconfig.json            # TypeScript configuration
├── .prettierrc              # Prettier configuration
├── eslint.config.mjs        # ESLint configuration
└── package.json             # Project metadata and scripts

🧪 Sample Prisma Model (Example)

model Student {
  id        String   @id @default(cuid())
  name      String
  rollNo    String   @unique
  grades    Grade[]
}

model Grade {
  id         String   @id @default(cuid())
  subject    String
  score      Int
  studentId  String
  student    Student  @relation(fields: [studentId], references: [id])
}

🏫 About UCSH

This platform was developed for the University of Computer Studies, Hinthada to digitize and streamline the grading process.

📄 License

This project is licensed under the MIT License.

About

Student grading system project with NextJS for UCSH Final Year

Topics

Resources

License

Stars

Watchers

Forks

Contributors 2

  •  
  •  

Languages