The School Application is a full-featured, scalable platform designed to manage school operations digitally. This repository includes both backend and frontend codebases to facilitate efficient administration of schools, including student data, attendance, fee tracking, and more.
The repository is organized into the following folders:
- Backend: Core backend built with Node.js, Express, and MongoDB for handling school data and APIs.
- Backend Master: Manages master data like session, classes, sections, and subjects.
- Frontend Masters Login: React-based login system for different user roles (Admin, Teacher, Student, etc.).
- School App Frontend: Complete frontend dashboard built with React for different stakeholders like staff, students, and admin.
- 👨🎓 Student & Staff Management
- 🕘 Attendance & Leave Tracking
- 📝 Exam & Result Module
- 💵 Fee Collection System
- 🚌 Transport & Bus Route Tracking
- 📚 Subject & Class Master Configuration
- 🔐 Secure Login System with Role-based Access
- Backend: Node.js, Express.js, MongoDB, Mongoose
- Frontend: React.js, Tailwind CSS (optional)
- Authentication: JWT (JSON Web Token)
- State Management: React Context API (or Redux - optional)
Before running the project, ensure you have the following installed:
- Node.js (v16+ recommended)
- MongoDB (local or Atlas)
- npm or yarn
Follow these steps to get started with the project locally:
git clone https://github.com/Vt001/schoolApplication.git
cd schoolApplicationcd Backend
npm install
# Create .env file with necessary configs
npm startSample
.envfile for Backend:
PORT=5000
MONGO_URI=mongodb+srv://<username>:<password>@cluster.mongodb.net
DB_NAME=schoolDB
ACCESS_TOKEN_SECRET=youraccesstokensecret
REFRESH_TOKEN_SECRET=yourrefreshtokensecretcd ../BackendMaster
npm install
# Create .env file
npm startcd ../FrontendMastersLogin
npm install
npm run devcd ../SchoolAppFrontend
npm install
npm run devThe frontend should now be running at
http://localhost:5173/or similar depending on your Vite config.
// Backend/src/Db/db.js
import mongoose from "mongoose";
const connectDB = async () => {
try {
await mongoose.connect(`${process.env.MONGO_URI}/${process.env.DB_NAME}`);
console.log(`MongoDB Connected...`);
} catch (err) {
console.error("MongoDB connection error", err);
process.exit(1);
}
};
export default connectDB;// School App Frontend/src/pages/Dashboard/StaffDashboard.jsx
import React from 'react';
const StaffDashboard = () => {
return (
<div>
<h1>I am Staff dashboard</h1>
</div>
);
};
export default StaffDashboard;Contributions are always welcome!
- Fork the repository
- Create your feature branch (
git checkout -b feature/new-feature) - Commit your changes (
git commit -m 'Add new feature') - Push to the branch (
git push origin feature/new-feature) - Open a Pull Request
This project is licensed under the MIT License.
For any queries or support, reach out via GitHub Issues or email at vt.devteam@example.com