sankalp 3643e34304 feat(finance): add expense management endpoints
This update introduces new endpoints for expense management in the finance API, complementing the existing invoice functionality. The changes include new URL routes for listing and creating expenses, along with minor formatting improvements to the URL configuration file.

**New Features:**
- Added `/expenses/` endpoint for listing expenses
- Added `/expenses/create/` endpoint for creating new expenses

**Enhancements & Refinements:**
- Removed trailing whitespace and blank lines in `urls.py` for improved code consistency
- Reorganized imports to place Django imports first, followed by local imports
```
2025-12-18 21:16:30 +05:45
2025-12-11 21:52:51 +05:45
2025-12-14 06:54:44 +05:45
2025-12-11 22:21:01 +05:45

DevSuite

DevSuite is a comprehensive management system designed for developers and agencies to streamline client management, project tracking, finance, and productivity.

Features

  • Client Management: Track clients, contact details, and unique short codes.
  • Project Management: Manage projects, milestones, and tasks with deadlines.
  • Service Management: Track recurring services (domains, hosting) and their expiry dates.
  • Finance: Generate invoices, track payments, and manage expenses.
  • Productivity: Log time entries and track duration for projects.
  • Automated Notifications: Email alerts for deadlines, due dates, and service expirations.

Modules

The project is organized into the following core modules in src/models/:

  • Clients (clients.py): Client model.
  • Projects (projects.py): Project, Milestone, Task models.
  • Services (services.py): Service, Credential models.
  • Finance (finance.py): Invoice, Payment, Expense models.
  • Productivity (productivity.py): TimeEntry, Note models.
  • Notifications (notifications.py): Notification model and sending logic.

Setup

Prerequisites

  • Python 3.10+
  • just (optional, for command shortcuts)

Installation

  1. Clone the repository:

    git clone https://github.com/S4NKALP/DevSuite.git
    cd DevSuite
    
  2. Configure Environment: Copy .env.sample to .env and update the values:

    cp .env.sample .env
    
  3. Run Setup: This installs dependencies, runs migrations, and creates a superuser.

    just setup
    
  4. Run Server:

    just dev
    

Traditional Method

  1. Install dependencies:

    pip install -r requirements.txt
    
  2. Configure Environment: Copy .env.sample to .env and update the values:

    cp .env.sample .env
    
  3. Initialize Database:

    python manage.py migrate
    python manage.py createsuperuser
    
  4. Run Server:

    python manage.py runserver
    

Notifications

DevSuite includes an automated email notification system.

  • Triggers: Project deadlines, Milestone due dates, Service expiry, Invoice due dates.
  • Command: python manage.py send_notifications
  • Automation: Use scripts/run_notifications.sh in a cron job.

For detailed documentation, see notifi.md.

Testing

Run the full test suite with:

python manage.py test

For detailed testing documentation, see testing.md.

Management Commands

  • send_notifications: Checks for upcoming events and sends emails.
    python manage.py send_notifications
    

Admin Interface

Access the Django admin at http://localhost:8000/admin/ to manage all records.

S
Description
All-in-one project, client, and service management system for solo developers. Track projects, clients, domains/hosting, costs, kanban boards, and notifications in one unified workspace.
Readme
338 KiB
0 Stars 1 Watchers 0 Forks
Languages
HTML 36.6%
Python 34.7%
CSS 27.3%
Just 1%
Procfile 0.3%