The Case Management System is a streamlined application designed to manage legal cases efficiently. Built with Streamlit and powered by an SQLite database, this system allows administrators and staff to add, edit, search, and maintain case records with ease.
- User Authentication: Secure login system with roles for administrators and staff.
- Case Management: Add, edit, delete, and search cases across multiple fields.
- Analytics Dashboard: Real-time metrics on total cases, active cases, districts involved, and recent additions.
- Logging: Action logging for tracking changes and user activities.
- Backup Management: Create and restore database backups with automatic backups after multiple changes.
- Responsive Design: Optimized for various screen sizes with a user-friendly interface.
- Python 3.11 or higher
- pip (Python package installer)
-
Clone the Repository
git clone https://github.com/a3ro-dev/case-management-system.git cd case-management-system -
Create a Virtual Environment
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate
-
Install Dependencies
pip install -r requirements.txt
-
Set Environment Variables
Create a
.envfile in the root directory and add the following:ADMIN_USERNAME=your_admin_username ADMIN_PASSWORD=your_admin_password STAFF_USERNAME=your_staff_username STAFF_PASSWORD=your_staff_password
-
Initialize the Database
The database will be automatically created when you run the application for the first time.
Run the Streamlit application using the following command:
streamlit run app.pyOpen your browser and navigate to https://casemanagement.streamlit.app/ to access the application.
Handles all database operations using aiosqlite. This includes connecting to the database, creating tables, and performing CRUD operations on case records.
The main Streamlit application that manages user authentication, displays dashboards, handles case management, logging, and backup functionalities. It uses various libraries such as pandas for data manipulation and streamlit_cookies_manager for managing user sessions.
Contributions are welcome! Please fork the repository and create a pull request with your changes.
This project is licensed under the MIT License.