A full-stack web application for managing student information and academic records. This system enables educational institutions to efficiently track student data, manage exam results (internal and final), and provide students with easy access to their academic performance.
- Student Authentication - Secure login system for students to access their information
- Student Information Management - Comprehensive student profiles including roll numbers, registration details, contact information
- Exam Results Management - Track and display both internal and final examination results
- Semester-wise Results - Organized result viewing by semester with detailed subject-wise marks
- SGPA Calculation - Automatic calculation and display of semester grade point averages
- Responsive Dashboard - Clean, intuitive interface for viewing student details and results
- RESTful API - Well-structured backend API for data management
- Dark Mode Support - Toggle between light and dark themes for better user experience
- React 18 - UI library for building interactive interfaces
- TypeScript - Type-safe development
- Vite - Fast build tool and development server
- React Router v7 - Client-side routing
- TanStack Query (React Query) - Data fetching and caching
- Tailwind CSS 4 - Utility-first CSS framework
- Node.js - JavaScript runtime
- Express.js - Web application framework
- TypeScript - Type-safe server development
- Bun - Fast JavaScript runtime for development
- Sequelize - ORM for database management
- MariaDB - Relational database
- CORS - Cross-origin resource sharing
StudentManagementSystem/
├── apps/
│ ├── client/ # React frontend application
│ │ ├── src/
│ │ │ ├── components/ # React components
│ │ │ ├── App.tsx # Main application component
│ │ │ └── main.tsx # Application entry point
│ │ └── package.json
│ └── server/ # Express backend application
│ ├── src/
│ │ ├── config/ # Configuration files
│ │ ├── controllers/ # Route controllers
│ │ ├── db/ # Database connection
│ │ ├── models/ # Sequelize models
│ │ ├── routes/ # API routes
│ │ └── main.ts # Server entry point
│ └── package.json
└── package.json
- Node.js 18 or higher
- Bun (for server development)
- MariaDB database
- npm or pnpm package manager
- Clone the repository:
git clone https://github.com/sameepkat/StudentManagementSystem.git
cd StudentManagementSystem- Install dependencies:
npm install- Set up the client:
cd apps/client
npm install- Set up the server:
cd apps/server
npm install- Configure environment variables:
Create a .env file in apps/server/src/:
PORT=8000
DB=mariadb://username:password@localhost:3306/database_name- Start the development servers:
Backend (from apps/server/):
bun run devFrontend (from apps/client/):
npm run devThe client will run on http://localhost:5173 and the server on http://localhost:8000.
GET /student/loginList- Get list of student login credentialsPOST /student/register- Register a new studentGET /student/studentList- Get all student information
GET /result/first/:examType- Get first semester results:examTypecan beinternalorfinal
- username (String, unique)
- Name (String)
- password (String)
- RollNo (Primary Key)
- Name
- ExamRollNo
- PuRegNo
- Address
- PhNo
- Sex
- Roll Number
- Exam Roll Number
- Name
- Subject Marks (Basic Engineering Drawing, Calculus I, Digital Logic, Discrete Structures, PST, Programming in C, Computer Workshop)
- SGPA (for final results)
- PuRegNo (for internal results)
Client:
cd apps/client
npm run buildServer:
cd apps/server
npm run buildcd apps/client
npm run lintThis project is available for educational purposes.