Buddhima/python-project-management-app

โ˜… 0Forks 0PythonGitHub โ†—Compare

README

Project Management API

๐Ÿš€ Overview

A robust Project Management API designed to simplify and automate the full project lifecycle. This API allows seamless management of clients, projects, and invoices, supporting business workflows such as billing, adjustments, reporting, and approval processes.

๐Ÿ› ๏ธ Key Modules

  • Clients โ€“ Manage client relationships, details, and associated projects.
  • Projects โ€“ Full CRUD support to manage project lifecycle per client.
  • Invoices โ€“ Automated invoice generation and tracking with support for multiple invoices per project. Handles pending, sent, and paid states, as well as adjustments and credits.

๐ŸŽฏ Features

  • Manage clients and their projects.
  • Generate and manage invoices, including multiple invoices per project.
  • Support invoice states: Pending, Sent, Paid.
  • Apply adjustments or credits to invoices.
  • Approval workflow for invoices: staff create/manage, managers approve/report.
  • Pull financial reports on outstanding balances and billing history.
  • Role-based user management: Staff and Managers with separate permissions.

โš™๏ธ Setup Instructions

  1. Create Environment
python3 -m venv venv
source venv/bin/activate
  1. Install Dependencies
pip install -r requirements.txt
  1. Run the Server
uvicorn app.main:app --reload

๐Ÿ“„ API Documentation

Once the server is running, access the interactive API docs at:

http://127.0.0.1:8000/docs

or the alternative ReDoc interface:

http://127.0.0.1:8000/redoc

๐Ÿ‘ฅ Users & Roles

  • Staff: Create and manage invoices.
  • Managers: Approve invoices, generate reports, and oversee financial workflows.

๐Ÿ“Š Reporting

The API supports pulling reports on:

  • Outstanding balances per client or project.
  • Billing history across selected periods.
  • Status of invoices (pending, sent, paid) including adjustments and credits applied.

๐Ÿ“ง Contact

For support or queries, reach out to:

Name: Senior Developer

Email: [email protected]

Website: https://bdo.nz/support

๐Ÿ“„ License

This project is licensed under the MIT License.

License: MIT

URL: https://opensource.org/licenses/MIT

๐Ÿ”— Quick Start Summary

  • Create a virtual environment.
  • Install dependencies.
  • Run the server with uvicorn app.main:app --reload.
  • Use API documentation to interact with Clients, Projects, and Invoices endpoints.

Contributors

Buddhima

Issues