Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Case Management System

Website

Overview

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.

Features

  • 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.

Installation

Prerequisites

  • Python 3.11 or higher
  • pip (Python package installer)

Steps

  1. Clone the Repository

    git clone https://github.com/a3ro-dev/case-management-system.git
    cd case-management-system
  2. Create a Virtual Environment

    python -m venv venv
    source venv/bin/activate  # On Windows: venv\Scripts\activate
  3. Install Dependencies

    pip install -r requirements.txt
  4. Set Environment Variables

    Create a .env file 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
  5. Initialize the Database

    The database will be automatically created when you run the application for the first time.

Usage

Run the Streamlit application using the following command:

streamlit run app.py

Open your browser and navigate to https://casemanagement.streamlit.app/ to access the application.

Project Structure

modules/dbCon.py

Handles all database operations using aiosqlite. This includes connecting to the database, creating tables, and performing CRUD operations on case records.

app.py

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.

Contributing

Contributions are welcome! Please fork the repository and create a pull request with your changes.

License

This project is licensed under the MIT License.

Acknowledgements

About

A streamlined application that allows administrators and staff to add, edit, search, and maintain case records with ease. Built with Streamlit and powered by an SQLite database.

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages