Skip to content

Aditya-Prakash14/flaskLMS

Repository files navigation

Learning Management System

A Flask-based Learning Management System with course management, user authentication, and assessment features.

Features

  • User authentication and authorization
  • Course management
  • Test and quiz creation
  • PDF resource management
  • Progress tracking
  • Admin dashboard

Setup

  1. Clone the repository:
git clone <repository-url>
cd <repository-name>
  1. Create and activate a virtual environment:
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate
  1. Install dependencies:
pip install -r requirements.txt
  1. Create a .env file with the following variables:
FLASK_APP=app.py
FLASK_ENV=development
SECRET_KEY=your-secret-key-here
DATABASE_URL=sqlite:///lms.db
  1. Initialize the database:
flask db init
flask db migrate
flask db upgrade

Development

Run the development server:

flask run

Deployment

Heroku

  1. Create a Heroku account and install the Heroku CLI
  2. Login to Heroku:
heroku login
  1. Create a new Heroku app:
heroku create <app-name>
  1. Set environment variables:
heroku config:set FLASK_ENV=production
heroku config:set SECRET_KEY=your-secret-key-here
heroku config:set DATABASE_URL=your-database-url
  1. Deploy to Heroku:
git push heroku main
  1. Initialize the database:
heroku run flask db upgrade

Other Platforms

For other platforms, ensure you:

  1. Set the appropriate environment variables
  2. Use a production-grade WSGI server (gunicorn)
  3. Configure a production database
  4. Set up proper static file serving
  5. Configure SSL/TLS

Security Considerations

  • Always use strong, unique SECRET_KEY in production
  • Use HTTPS in production
  • Keep dependencies updated
  • Regularly backup the database
  • Monitor for security vulnerabilities

License

MIT License

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages