Skip to content

Julius-git-coder/GradeFire

Repository files navigation

Roadmap 1.React/zustand 2.Tailwindcss: styling 3.Firebase:authentication 4.MongoDB:data storage 5.Express.js : writing Api's
6.Cloudinary : for image storage 7.User profiles (students, teachers, parents).

Performance records (grades, test results, progress over time).

Activities (attendance, assignments, participation, extracurriculars).

Notifications/updates (new assignments, events, deadlines).

Analytics (charts, progress reports).

Scalability (if many schools/students join). Classroom Management System Overview This project is a Classroom Management System designed to allow an admin to send exercises, projects, assignments, and announcements to students. The admin can send these to all students at once or to a specific student based on their registered email. Each student has a personalized page where they can view the content sent to them. Features

Admin Capabilities: Send exercises, projects, assignments, and announcements to all students. Select a specific student by their registered email to send targeted content. Send content to all students simultaneously by selecting the "All" option.

Student Experience: Each student has a personal page displaying exercises, projects, assignments, and announcements sent to them. Content is delivered based on the student's registered email.

Email-Based System: Students sign up with their email, which the admin uses to identify and send content to individual students.

Setup Instructions

Clone the Repository:git clone cd classroom-management-system

Install Dependencies:Ensure you have a backend (e.g., Node.js, Python) and a database (e.g., MongoDB, MySQL) set up. Install required dependencies:npm install # For Node.js-based projects

or

pip install -r requirements.txt # For Python-based projects

Configure Environment: Create a .env file in the root directory. Add necessary configurations (e.g., database connection string, email service credentials).

DATABASE_URL= EMAIL_SERVICE= EMAIL_USER= EMAIL_PASS=

Run the Application:npm start # For Node.js

or

python app.py # For Python

Usage

Admin Actions: Log in to the admin dashboard. Navigate to the "Send Content" section. Choose the content type: Exercise, Project, Assignment, or Announcement. Select recipient(s): "All" for all students or a specific student's email from the registered list. Submit the content, which will be sent to the selected student(s) and appear on their personal page(s).

Student Actions: Sign up with a valid email address. Access the personal student page via a provided link or login. View all exercises, projects, assignments, and announcements sent by the admin.

Technology Stack

Frontend: HTML, CSS, JavaScript (optional: React for a dynamic UI) Backend: Node.js with Express or Python with Flask/Django Database: MongoDB for storing student emails and content (or MySQL/PostgreSQL) Email Service: SMTP or third-party service (e.g., SendGrid, Nodemailer)

Project Structure classroom-management-system/ ├── public/ # Static files (CSS, JS, images) ├── src/ │ ├── controllers/ # Logic for handling admin and student actions │ ├── models/ # Database models (e.g., Student, Content) │ ├── routes/ # API routes for sending content │ └── views/ # Frontend templates (if using server-side rendering) ├── .env # Environment variables ├── README.md # This file └── package.json # Node.js dependencies (or requirements.txt for Python)

Future Enhancements

Add authentication for secure admin and student access. Implement real-time notifications for new content. Allow students to submit assignments through their personal page. Add support for file uploads (e.g., PDFs for assignments).

Contributing Contributions are welcome! Please fork the repository and submit a pull request with your changes. License This project is licensed under the MIT License.

About

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages