Skip to content

A Command-Line Interface (CLI) application built using Python and designed to manage and track matatus (minibuses) operated by Super Metro, a Matatu Sacco in Kenya.

License

Notifications You must be signed in to change notification settings

ArshavineRoy/super-metro-bms

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SUPER METRO BUS MANAGEMENT SYSTEM

license python version SQLAlchemy version alembic version faker version colorama version click version platforms


Introduction

The Super Metro Bus Management System is a Command-Line Interface (CLI) application built using Python. It is designed to manage and track matatus (minibuses) operated by Super Metro, a Matatu Sacco in Kenya. This tool empowers users to effortlessly handle various aspects of Matatu Sacco management, including member and fleet information, routes, and financial analysis, providing a comprehensive solution for Sacco owners.


Table of Contents


Features

  • Add and Manage Matatus: Easily add new matatus to the fleet, find their details, and remove them when necessary.

  • Member Management: Keep track of members associated with the matatu operation, including their contact information and ownership details.

  • Route Management: Maintain a database of routes with corresponding pricing information.

  • Search and Retrieval: Quickly find matatus, members, and routes using name, number plate, or ID-based search queries.

  • Financial Analysis: Calculate estimated monthly gross amounts for all matatus to assist in financial reporting and analysis.


Installation

1. Clone the repository

git clone https://github.com/ArshavineRoy/super-metro-bms

2. Navigate to the project's directory

cd super-metro-bms

3. Install required dependencies

The root directory of this repository contains the Pipfile with all the required dependencies. Install them by running this command from the root directory:

pipenv install

If pipenv is not already installed, you can do so using pip:

pip install pipenv

4. Activate the virtual environment

pipenv shell

5. Run the CLI application

The CLI app must be run from within the app directory

cd app

main.py is the enttry into the app

./main.py

Usage

  • add-matatu: This command allows the user to add a new matatu to the fleet.

  • add-member: This command allows the user to add a new member to the database.

  • add-route: This command allows the user to add a new route to the database.

  • all-matatu-financials: This command calculates estimated monthly gross amounts for all matatus and exports the results to a .csv file.

  • delete-matatu: This command allows the user to delete a matatu by its ID.

  • delete-member: This command allows the user to delete a member by their ID.

  • delete-route: This command allows the user to delete a route by its ID.

  • find-matatu-by-driver-name: This command helps the user find a matatu by its driver's name.

  • find-matatu-by-number-plate: This command allows the user to find a matatu by its number plate.

  • find-member-by-name: This command helps the user find a member by their name.

  • find-route-by-name: This command allows the user to find a route by its name.

  • matatus-on-route: This command finds all matatus plying a specific route and exports the results to a .csv file.

  • matatus-owned-by: This command lists all matatus owned by a specific member.

  • owner-of-matatu: This command helps the user find the owner of a matatu by its number plate.


Author & License

Authored by Arshavine Waema.

Licensed under the MIT License - see the LICENSE file for details.

About

A Command-Line Interface (CLI) application built using Python and designed to manage and track matatus (minibuses) operated by Super Metro, a Matatu Sacco in Kenya.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published