Learning Manage is a comprehensive educational management system built with Flask. It provides a platform for students, instructors, and administrators to manage courses, assignments, grades, and more.
- User authentication and role-based access control
- Course management with enrollment capabilities
- Assignment creation, submission, and grading
- Forum for course-related discussions
- Notification system for important updates
Before running the application, ensure you have the following prerequisites installed:
- Python 3.x
- Flask
- MySQL Connector
You will also need to set up a MySQL database and configure the connection in the config.ini
file which should be created by yourself.
-
Clone the repository:
git clone https://github.com/yourusername/learnmanage.git
-
Navigate to the project directory:
cd learnmanage
-
Create a virtual environment (optional but recommended):
python3 -m venv venv source venv/bin/activate # On Windows use `venv\Scripts\activate`
-
Install the dependencies:
pip install -r requirements.txt
-
Configure the database connection in
config.ini
:[DATABASE] User = yourusername Password = yourpassword Host = localhost Database = learnmanage [SESSION] Secret_key = yoursecretkey
-
Initialize the database schema by running the SQL scripts (not included in this repository).
-
Run the application:
python app.py
- Access the application by navigating to
http://127.0.0.1:5000/
in your web browser. - Login with your credentials or create a new account.
- Navigate through the available courses, assignments, forums, and other features.
Please note that the frontend code in this repository is not mobile-responsive and has limited practical value. It is provided solely for demonstration purposes. If you intend to use this project, it is recommended to develop the frontend using a framework of your choice.
- Refactor and encapsulate the lengthy and redundant code in
app.py
to improve maintainability and scalability.
Contributions are welcome! Please follow these steps:
- Fork the repository.
- Create a new branch for your feature or bug fix.
- Commit your changes.
- Push to the branch and submit a pull request.
- Flask for providing the web framework.
- MySQL for the database management system.
- Everyone who contributed to the open-source projects used in this application.
Please remember to update the yourusername
, yourpassword
, yoursecretkey
, and the repository URL with the actual values you intend to use. The note about the front-end has been added as per your request, and the future work section now mentions the planned refactoring of the app.py
code.