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 ```
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):Clientmodel. - Projects (
projects.py):Project,Milestone,Taskmodels. - Services (
services.py):Service,Credentialmodels. - Finance (
finance.py):Invoice,Payment,Expensemodels. - Productivity (
productivity.py):TimeEntry,Notemodels. - Notifications (
notifications.py):Notificationmodel and sending logic.
Setup
Prerequisites
- Python 3.10+
just(optional, for command shortcuts)
Installation
Using Just (Recommended)
-
Clone the repository:
git clone https://github.com/S4NKALP/DevSuite.git cd DevSuite -
Configure Environment: Copy
.env.sampleto.envand update the values:cp .env.sample .env -
Run Setup: This installs dependencies, runs migrations, and creates a superuser.
just setup -
Run Server:
just dev
Traditional Method
-
Install dependencies:
pip install -r requirements.txt -
Configure Environment: Copy
.env.sampleto.envand update the values:cp .env.sample .env -
Initialize Database:
python manage.py migrate python manage.py createsuperuser -
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.shin 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.