Spaces:
Sleeping
Sleeping
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
Install Dependencies:
pip install -r requirements.txtRun the Application:
streamlit run src/streamlit_app.pyOr use the convenient startup script:
python run_app.pyAccess the Application:
- Open your browser and go to
http://localhost:8501 - Login with one of the default credentials
- Start uploading and managing PDF documents!
- Open your browser and go to
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