A comprehensive platform for managing student data within CoSA, including details about students' club memberships, positions of responsibility (PORs), and much more. This project offers efficient storage, retrieval, and management of student-related information, streamlining administrative tasks and enhancing overall efficiency.

- User-friendly Frontend: Clean, responsive UI for easy access to student data.
- Backend with MongoDB: Secure and scalable backend using Node.js, Express, and MongoDB.
- Search & Filter Functionality: Quickly search, filter, and manage student data.
- JWT-based Authentication: Role-based authentication system for admins.
- RESTful API: RESTful endpoints for integration and automation.
- Frontend: React.js, Axios, HTML5, CSS3
- Backend: Node.js, Express.js, JWT Authentication
- Database: MongoDB
- Version Control: Git and GitHub
Follow these instructions to run the project locally.
Ensure that you have Node.js and NPM installed on your system.
git clone https://github.com/OpenLake/Student_Database_COSA.git
cd Student_Database_COSA
-
Navigate to the
backend
directory:cd backend
-
Install the necessary packages and dependencies:
npm install
-
Create your environment file: In the
backend
directory, copy the example environment file (.env.example) to create your own local version.# For macOS/Linux cp .env.example .env # For Windows copy .env.example .env
Now, open the new
.env
file and fill in your actual values. -
Seed the database: This next command populates the database with initial necessary data. You only need to run this once during the initial setup.
node seed.js
-
Run the backend server:
node index.js
The backend server should now be running on http://localhost:5000
.Keep this terminal open.
Open a new, separate terminal window. This is important, as your backend server needs to keep running in the first terminal.
- Navigate to the
frontend
directory:cd ../frontend
- Install the frontend dependencies:
npm install
- Create your environment file:
Just like the backend, copy the example file to create your local frontend environment file.
Open the new
# For macOS/Linux cp .env.example .env # For Windows copy .env.example .env
.env
file and update any variables if necessary (e.g., the backend API URL). - Start the frontend server:
npm start
The frontend development server will open in your browser at http://localhost:3000
. You can now start exploring and contributing to the application!
Student_Database_COSA/
│
├── backend/ # Node.js backend
│ ├── controllers/ # API route controllers
│ ├── models/ # Database models (MongoDB schemas)
│ ├── routes/ # API routes
│ ├── middleware/ # Authentication and role-based middleware
| ├── seed.js # Database seeder script
| └── index.js # Main server file
│
├── frontend/ # React.js frontend
│ ├── public/ # Public assets
│ └── src/ # Source code
│ ├── components/ # React components
│ ├── pages/ # Application pages
│ └── App.js # Main App component
│
├── .gitignore # Ignored files
├── README.md # Project documentation
└── package.json # Dependencies and scripts
This project is maintained by:
We welcome contributions from the community! For complete guidelines on how to get started, please read our Contributing Guide. You can also check out the Issues tab for tasks, join our Discord server to connect with the team, and view the new Figma design.
If you have any questions or feedback, feel free to reach out to the maintainers.