EduTrack360 is a comprehensive school management system designed to track and manage various aspects of student life, including behavioral records, extracurricular activities, academic achievements, class sections, and more. This application provides a user-friendly interface for managing and visualizing student data while supporting role-based access control to ensure appropriate permissions.
🚀 Production: https://edutrack360.onrender.com
🔧 API Endpoint: https://edutrack360backend.onrender.com
- Student Behavioral Records Management: Track and manage behavioral records for students, including disciplinary actions, positive feedback, and comments from teachers.
- Extracurricular Activities Tracking: Record student participation in sports, arts, clubs, and competitions with details about achievements and levels of participation.
- Student Awards & Achievements: Manage awards given to students for their excellence in various fields.
- Class Section Management: Create and manage class sections, assign teachers, and keep track of students in each section.
- Academic Term Details: Manage academic terms with start and end dates for each term, including the academic year.
- Responsive Design with Mobile Support: Fully responsive UI that works seamlessly on mobile devices.
- Role-based Access Control: Manage access to the application based on user roles such as admin, teacher, and student.
- React 19 with Vite for fast development and optimized build.
- React Router DOM for client-side routing and navigation.
- Shadcn UI components for modern, accessible, and reusable UI components.
- Tailwind CSS for utility-first, responsive styling.
- Axios for making API requests and handling data.
- Lucide React for scalable, customizable icons.
- Node.js for the backend runtime environment.
- Express.js for building the REST API and handling server-side logic.
- MongoDB with Mongoose for the database, providing easy-to-use, schema-based solutions for MongoDB.
- CORS enabled for cross-origin requests.
- dotenv for managing environment variables and sensitive configuration.
- Node.js (v22 or higher)
- MongoDB for database management.
-
Clone the repository:
git clone https://github.com/TheUzair/EduTrack360.git
-
Install Backend Dependencies:
cd backend npm install
-
Install Frontend Dependencies:
cd frontend npm install
-
Configure Environment Variables:
- Create a
.env
file in the backend directory with the following content:PORT=5000 MONGODB_URI=mongodb://localhost:27017/personal-social-records
- Create a
.env
file in the frontend directory too with the following content:VITE_API_URL=your_backend_api_url
- Create a
-
Start Backend Server:
cd backend npm run dev
-
Start Frontend Development Server:
cd frontend npm run dev
The application will be available at http://localhost:5173
.
├── backend/
│ ├── controllers/ # Business logic for handling requests
│ ├── models/ # Mongoose models for database schemas
│ ├── routes/ # API route definitions
│ ├── database/ # Database connection and setup
│ └── app.js # Main server file
├── frontend/
│ ├── src/
│ │ ├── components/ # Reusable UI components
│ │ ├── lib/ # Utility functions and helpers
│ │ ├── pages/ # Page-level components
│ │ └── App.jsx # Main frontend component
│ └── public/ # Static files (images, icons, etc.)
npm start
: Start the production server.npm run dev
: Start the development server with nodemon for auto-reloading.npm run init-db
: Initialize the database with seed data.
npm run dev
: Start the development server.npm run build
: Build the frontend for production.npm run preview
: Preview the production build.npm run lint
: Run ESLint for code quality checks.
We welcome contributions to the EduTrack360 project. To contribute, follow these steps:
- Fork the repository.
- Create a feature branch:
git checkout -b feature/AmazingFeature
- Commit your changes:
git commit -m 'Add some AmazingFeature'
- Push to the branch:
git push origin feature/AmazingFeature
- Open a Pull Request (PR) to merge your changes.
This project is licensed under the MIT License. See the LICENSE file for details.
- Shadcn UI: For providing a set of modern UI components that make UI development easier.
- Lucide React: For offering a collection of customizable and scalable icons.
- Enhanced Reporting: Future updates may include advanced reporting capabilities, allowing administrators to generate detailed reports based on student data.
- Notification System: A system for sending notifications (email/SMS) to students and staff for updates on activities and achievements.
- AI-based Recommendations: We might add an AI-based recommendation engine to suggest extracurricular activities and awards for students based on their interests and performance.
- Integration with Learning Management Systems (LMS): Future versions of KreupCampus360 could integrate with LMS platforms to track academic progress alongside extracurricular achievements.