CSProConnect is a comprehensive Enterprise Resource Planning (ERP) system tailored for educational institutions. It provides a seamless platform for managing student data, faculty information, academic records, attendance, and more. The system is divided into three distinct portals: Admin, Faculty, and Student, ensuring a secure and organized workflow for all users.
- Dashboard: Overview of pending tasks and announcements.
- Marks: View internal and external marks for various subjects.
- Attendance: Check attendance records and percentage.
- Timetable: View weekly class schedules.
- Materials: Download study materials uploaded by faculty.
- Profile: View personal and academic details.
- Dashboard: Quick access to assigned classes and subjects.
- Attendance Management: Mark and view student attendance.
- Marks Management: Upload and update student marks.
- Study Materials: Upload notes and resources for students.
- Student Details: View comprehensive details of students in their classes.
- Timetable: View teaching schedule.
- Manage Faculty: Add, edit, and view faculty members.
- Manage Students: Add, edit, and view student profiles.
- Manage Subjects: Create and assign subjects to departments/semesters.
- Notices: Post announcements for students and faculty.
- Admin Profile: Manage admin account settings.
- Framework: React.js
- State Management: Redux
- Styling: Tailwind CSS
- Routing: React Router DOM
- HTTP Client: Axios
- Notifications: React Hot Toast
- Icons: React Icons
- Runtime: Node.js
- Framework: Express.js
- Database: MongoDB
- ORM: Mongoose
- Authentication: JWT (JSON Web Tokens)
- CORS: Cross-Origin Resource Sharing
- Firebase: For file storage (images, documents).
- Mailgun: For sending emails (optional integration).
- jsPDF & AutoTable: For generating PDF reports.
- XLSX: For Excel file handling.
erp-main/
├── backend/ # Node.js/Express Backend
│ ├── Database/ # Database connection logic
│ ├── models/ # Mongoose schemas (User, Student, Faculty, etc.)
│ ├── routes/ # API routes
│ ├── index.js # Server entry point
│ └── package.json # Backend dependencies
│
└── frontend/ # React Frontend
├── public/ # Static assets
├── src/
│ ├── components/ # Reusable UI components
│ ├── Screens/ # Page components (Admin, Faculty, Student)
│ ├── redux/ # Redux actions and reducers
│ ├── firebase/ # Firebase configuration
│ ├── App.js # Main application component
│ └── baseUrl.js # API base URL configuration
└── package.json # Frontend dependencies
Follow these steps to set up the project locally.
git clone https://github.com/karthikajay04/collage-erp-system.git
- Navigate to the backend directory:
cd backend - Install dependencies:
npm install
- Environment Variables:
Create a
.envfile in thebackenddirectory and add your configurations:PORT=5000 MONGODB_URI=mongodb://localhost:27017/csproconnect # Or your MongoDB Atlas URI
- Start the backend server:
The server should be running on
npm start
http://localhost:5000.
- Open a new terminal and navigate to the frontend directory:
cd ../frontend - Install dependencies:
npm install
- Configuration:
- Firebase: Open
src/firebase/config.jsand update thefirebaseConfigobject with your own Firebase project credentials.const firebaseConfig = { apiKey: "YOUR_API_KEY", authDomain: "YOUR_PROJECT_ID.firebaseapp.com", // ... other config };
- Mailgun (Optional): Open
src/mailgun_api.jsand add your API key if you intend to use email features. - API URL: Check
src/baseUrl.js. It defaults tohttp://localhost:5000/api. If your backend runs on a different port, update it here.
- Firebase: Open
- Start the frontend application:
The application will open in your browser at
npm start
http://localhost:3000.
- Ensure both Backend and Frontend servers are running.
- Navigate to
http://localhost:3000. - Log in using your credentials.
- Admin Login:
- Default Login ID:
1234 - Default Password:
root
- Default Login ID:
- Faculty Login: Select 'Faculty' and enter faculty credentials (created by Admin).
- Student Login: Select 'Student' and enter student credentials (created by Admin).
- Admin Login:
This project is licensed under the ISC License.