dev_LMS / README.md
raymondEDS
fixing
05152ad
metadata
title: Dev LMS
emoji: πŸ“š
colorFrom: blue
colorTo: purple
sdk: docker
app_port: 8501
tags:
  - streamlit
  - lms
  - education
  - pdf
pinned: false
short_description: LMS with login and PDF upload

Dev LMS - Learning Management System

A comprehensive Learning Management System built with Streamlit that provides user authentication and PDF document management capabilities. Cloud-ready and optimized for Hugging Face Spaces deployment.

πŸš€ Features

πŸ” Authentication

  • Secure user login system
  • Multiple user roles (Admin, Teacher, Student)
  • Session management with cookies
  • Password hashing for security

πŸ“„ Document Management

  • PDF document upload and storage
  • Text extraction from PDF files
  • Document preview and search functionality
  • Document library with user ownership tracking
  • Cloud-ready storage using session state

πŸ“Š Dashboard

  • User activity metrics
  • Document statistics
  • Recent activity tracking
  • System overview

πŸ” Search & Navigation

  • Search documents by filename, content, or owner
  • Filter documents by various criteria
  • Easy navigation between different sections
  • Document categorization

πŸ‘₯ Default Users

The system comes with three default user accounts:

Role Username Password
Administrator admin admin123
Teacher teacher teacher123
Student student student123

πŸ› οΈ Installation & Usage

Local Development

  1. Install Dependencies:

    pip install -r requirements.txt
    
  2. Run the Application:

    streamlit run src/streamlit_app.py
    

    Or use the convenient startup script:

    python run_app.py
    
  3. Access the Application:

    • Open your browser and go to http://localhost:8501
    • Login with one of the default credentials
    • Start uploading and managing PDF documents!

Cloud Deployment

The application is optimized for deployment on Hugging Face Spaces and other cloud platforms. No file system permissions required - all data is stored in session state.

πŸ“ Application Structure

β”œβ”€β”€ src/
β”‚   └── streamlit_app.py    # Main application file
β”œβ”€β”€ .streamlit/
β”‚   └── config.toml        # Streamlit configuration
β”œβ”€β”€ requirements.txt       # Python dependencies
β”œβ”€β”€ run_app.py            # Startup script
└── README.md             # This file

πŸ”§ Technical Details

  • Framework: Streamlit
  • Authentication: streamlit-authenticator
  • PDF Processing: PyPDF2
  • Data Storage: Session state (cloud-ready)
  • Security: bcrypt password hashing
  • Deployment: Optimized for Hugging Face Spaces

🎯 Use Cases

  • Educational Institutions: Manage course materials and assignments
  • Corporate Training: Organize training documents and resources
  • Research Teams: Share and collaborate on research papers
  • Document Management: Centralized PDF storage and retrieval

πŸ”’ Security Features

  • Secure password hashing using bcrypt
  • Session-based authentication
  • User role management
  • Document ownership tracking
  • Secure file upload handling

☁️ Cloud Features

  • No file system dependencies - works on read-only environments
  • Session-based storage - data persists during user session
  • Optimized for Hugging Face Spaces - ready for immediate deployment
  • Lightweight and fast - minimal resource requirements

πŸ“ˆ Future Enhancements

  • Database integration for persistent storage
  • Advanced document annotation features
  • User permission management
  • Document versioning
  • Real-time collaboration tools
  • Mobile-responsive design

Built with ❀️ using Streamlit | Cloud-ready for Hugging Face Spaces