Noteflix is a College Management System (CMS) that is a web-based application developed using Python and Django. It is designed to manage various activities within a college, such as student enrollment, grading, and financial management. The Noteflix project is open-source, making it free to use and modify.
Table of Contents Introduction Features Installation Usage Configuration API Reference Contributing Introduction Noteflix aims to streamline the administrative tasks of colleges by providing a comprehensive management system. This system supports student enrollment, course management, grading, and financial management, making it easier for college administrators to manage their operations efficiently.
Features User Authentication: Secure login and registration for students, faculty, and administrators. Student Enrollment: Manage student admissions and enrollments seamlessly. Course Management: Create and manage courses, assign faculty, and enroll students. Grading System: Record and manage student grades, generate transcripts. Financial Management: Handle tuition fees, payments, and financial records. Dashboards: Provide a comprehensive overview of college activities for administrators, faculty, and students. Installation To set up Noteflix on your local machine, follow these steps:
Clone the Repository:
bash
git clone https://github.com/yourusername/noteflix.git cd noteflix Create and Activate a Virtual Environment:
bash
python3 -m venv venv source venv/bin/activate Install Dependencies:
bash
pip install -r requirements.txt Set Up the Database:
bash
python manage.py migrate Create a Superuser:
bash
python manage.py createsuperuser Run the Development Server:
bash
python manage.py runserver Access the Application:
Open your browser and go to http://127.0.0.1:8000/.
Usage User Registration and Login Students: Register and log in to access courses, view grades, and manage personal information. Faculty: Register and log in to manage assigned courses, input grades, and interact with students. Administrators: Register and log in to oversee college operations, manage financials, and handle administrative tasks. Managing Students Enrollment: Administrators can enroll new students and manage existing enrollments. Records: Maintain detailed records of student information, including personal details, enrolled courses, and grades. Managing Courses Creation: Administrators and faculty can create new courses and update course information. Assignment: Assign faculty to courses and enroll students in courses. Grading Input Grades: Faculty can input grades for students enrolled in their courses. Transcripts: Generate and manage student transcripts and grade reports. Financial Management Tuition Fees: Manage tuition fees, including setting up fee structures and handling payments. Financial Records: Maintain detailed financial records for auditing and reporting purposes. Configuration Environment Variables For security and convenience, use environment variables to manage sensitive information. Create a .env file in your project root and add the following:
bash
SECRET_KEY=your_secret_key DEBUG=True Load these variables in your settings.py:
python
import os from dotenv import load_dotenv
load_dotenv()
SECRET_KEY = os.getenv('SECRET_KEY') DEBUG = os.getenv('DEBUG') Custom Settings You can customize various aspects of Noteflix by modifying the settings in settings.py. Adjust database settings, installed apps, middleware, and other configurations as needed.
API Reference Endpoints GET /api/students: Retrieve a list of students. GET /api/students/{id}: Retrieve details of a specific student. POST /api/students: Add a new student. PUT /api/students/{id}: Update a student's details. DELETE /api/students/{id}: Delete a student. Example Request bash
curl -X GET http://127.0.0.1:8000/api/students/ Contributing We welcome contributions to Noteflix! To contribute, follow these steps:
Fork the Repository:
Click the "Fork" button on the top right of the repository page.
Clone Your Fork:
bash
git clone https://github.com/yourusername/noteflix.git Create a Branch:
bash
git checkout -b feature/your-feature-name Make Your Changes:
Implement your feature or fix the bug.
Commit Your Changes:
bash
git commit -m "Description of your changes" Push to Your Fork:
bash
git push origin feature/your-feature-name Create a Pull Request:
Go to the original repository and create a pull request.