33 Commits
Author SHA1 Message Date
sankalp e8f0a89bfd refactor(productivity): reorganize URL patterns and improve code formatting
The changes include a reorganization of the URL patterns in `urls.py` and improvements to code formatting in `views.py` for better readability and maintainability.

- **Enhancements & Refinements**:
  - Reorganized URL patterns in `urls.py` to group related endpoints and improve structure.
  - Improved code formatting in `views.py` for better readability, including consistent line breaks and indentation.
  - Removed redundant imports and trailing whitespace in both files.
```
2025-12-18 21:38:26 +05:45
sankalp 96629b26b3 feat(notifications): add notification list and detail endpoints
This commit introduces new endpoints for managing notifications, including listing and retrieving individual notification details.

**New Features:**
- Added `notification_list` endpoint to retrieve a list of notifications
- Added `notification_detail` endpoint to fetch details of a specific notification by ID

**Enhancements & Refinements:**
- Cleaned up trailing whitespace in `urls.py` and `views.py` files
```
2025-12-18 21:38:22 +05:45
sankalp 2459ccbb6d feat(src): add notifications API endpoint
- **New Features**:
  - Added new URL route for notifications under `/notifications/` endpoint
  - Integrated `src.api.notifications.urls` module into the main URL configuration
```
2025-12-18 21:28:33 +05:45
sankalp 32be95257e feat(src): add productivity API endpoint
- **New Features**:
  - Added new URL route for productivity API at `/productivity/`
  - Integrated `src.api.productivity.urls` module into the main URL configuration
```
2025-12-18 21:16:40 +05:45
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
sankalp 6a9996f2ed feat(migrations): update client phone field migration
This commit modifies the migration file for altering the client phone field.

- **Enhancements & Refinements**:
  - Removed an unnecessary blank line in the migration class definition
  - Cleaned up formatting in the `0005_alter_client_phone.py` migration file
```
2025-12-18 21:00:23 +05:45
sankalp 24b16ab974 feat(api): add finance endpoint routing
Added new API routing configuration for the finance module.

**New Features**
- **Finance API**: Integrated routing for the new finance module at `/finance/` endpoint.
2025-12-14 11:26:36 +05:45
sankalp 8f1be8fd07 feat(finance): Implement finance module with dashboard, invoice, and expense management
This commit introduces a new finance module with dashboard analytics and full CRUD operations for invoices and expenses.

**New Features**
- **Finance Dashboard**: Displays recent invoices/expenses, total income, expenses, net profit, and pending income
- **Invoice Management**: Full CRUD operations for invoices with client/project associations
- **Expense Management**: Full CRUD operations for expenses with category tracking

**Enhancements & Refinements**
- Dashboard shows last 5 invoices and expenses for quick overview
- All lists ordered by descending date for better visibility
- HTMX support for delete operations
- Form validations for required fields in create/edit operations
2025-12-14 11:26:30 +05:45
sankalp 644302ba84 feat(settings): remove babel dependency and reorganize base settings
Simplify third-party app configuration by removing the unused Babel integration and adjusting whitespace for better readability.

- **New Features**
  - Added django_tailwind_cli and django_browser_reload to THIRD_PARTY_APPS list to support new frontend tooling.

- **Enhancements & Refinements**
  - Removed deprecated babel library from THIRD_PARTY_APPS to reduce unnecessary dependencies.
  - Improved code formatting in base.py for consistent spacing and alignment.
2025-12-14 10:15:21 +05:45
sankalp 7f8b583aa9 feat(migrations): add phone number field migration for client model
A new migration file has been created to modify the client model's phone field.

**New Features**
- Added migration `0005_alter_client_phone.py` to alter the client phone field using `phonenumber_field`

**Enhancements & Refinements**
- Updated client phone field to use `PhoneNumberField` with extended length support and region flexibility
2025-12-14 10:15:21 +05:45
sankalp 6193d034bd feat(settings): remove babel dependency and reorganize base settings
Simplify third-party app configuration by removing the unused Babel integration and adjusting whitespace for better readability.

- **New Features**
  - Added django_tailwind_cli and django_browser_reload to THIRD_PARTY_APPS list to support new frontend tooling.

- **Enhancements & Refinements**
  - Removed deprecated babel library from THIRD_PARTY_APPS to reduce unnecessary dependencies.
  - Improved code formatting in base.py for consistent spacing and alignment.
2025-12-14 09:56:32 +05:45
sankalp db5cf583e8 feat(settings): remove babel dependency and reorganize base settings
Simplify third-party app configuration by removing the unused Babel integration and adjusting whitespace for better readability.

- **New Features**
  - Added django_tailwind_cli and django_browser_reload to THIRD_PARTY_APPS list to support new frontend tooling.

- **Enhancements & Refinements**
  - Removed deprecated babel library from THIRD_PARTY_APPS to reduce unnecessary dependencies.
  - Improved code formatting in base.py for consistent spacing and alignment.
2025-12-14 09:53:47 +05:45
sankalp db100db341 feat(api): add projects endpoints
The API now includes support for projects by adding the new projects endpoints.

**New Features**
- **projects**: Added new route for projects API endpoints via `src.api.projects.urls`
2025-12-14 09:39:25 +05:45
sankalp dbfd4731e5 feat(projects): implement project and task management functionality
This commit introduces the core functionality for managing projects and tasks, including forms, views, and URL routing. It enables CRUD operations for projects and tasks, along with interactive features like drag-and-drop task management.

**New Features**
- Added **ProjectForm** and **TaskForm** with styled form widgets
- Implemented **project management views** (list, create, detail, edit, delete)
- Created **task management views** (create, update status, edit, detail, delete)
- Added **kanban-style task management** with status-based task grouping
- Introduced **HTMX-compatible endpoints** for dynamic task updates

**Enhancements & Refinements**
- Configured form widgets with Tailwind CSS classes for consistent styling
- Added logging and error handling for task operations
- Implemented responsive task cards with context menus for actions
- Included date formatting and display logic for task due dates
- Structured URL patterns for RESTful project/task navigation
2025-12-14 09:38:51 +05:45
sankalp 6c72fe22e8 feat(api): add new clients API endpoint
The changes introduce a new API route for client-related functionality.

- **New Features**
  - Added `/clients/` endpoint routing to `src.api.clients.urls` module
2025-12-14 08:17:58 +05:45
sankalp 6fd72b74f4 feat(settings): add HTMX middleware and enhance security headers
- **New Features**
  - Added `django_htmx.middleware.HtmxMiddleware` to the `MIDDLEWARE` list to enable HTMX support

- **Enhancements & Refinements**
  - Updated security headers configuration in `base.py` to improve XSS and content type protections
  - Reorganized middleware order for optimal request processing
2025-12-14 08:17:52 +05:45
sankalp cf819817ab feat(models): update Client model and add validation
This update modifies the Client model fields and introduces new data validation methods. Key changes include removing the hard-coded phone region and adding validation for email and short codes.

**New Features**
- Added `validate_email` method to ensure proper email formatting
- Added `validate_short_code` method to enforce alphanumeric short codes

**Enhancements & Refinements**
- Removed hard-coded 'NP' region from `phone` field to support international numbers
2025-12-14 08:17:48 +05:45
sankalp 3b38317d45 feat(clients): add client management views and URL routes
Implement client management functionality with CRUD operations, including list, create, edit, and delete views. The changes introduce URL routing and form handling for client interactions.

**New Features**
- **Client CRUD operations**: Added views for listing, creating, editing, and deleting client records
- **ClientForm**: Introduced a model form with phone number formatting and initial country code
- **HTMX support**: Implemented conditional template rendering for HTMX-based partial updates

**Enhancements & Refinements**
- **Form styling**: Enhanced phone number input fields with custom widget attributes
- **Form behavior**: Disabled short_code field input while maintaining model structure
- **Route organization**: Structured URL patterns for client operations in `urls.py`
2025-12-14 08:17:44 +05:45
sankalp 2fb94cf6e2 feat(static): add favicon.ico
Add favicon.ico to the static directory to provide a site icon for better branding and user experience.

- **New Features**
  - Add `favicon.ico` to the static assets for browser tab and bookmark visibility.
2025-12-14 08:17:31 +05:45
sankalp 2d4145103c update 2025-12-14 06:54:44 +05:45
sankalp 20a86a507e chore(root): Ignore temporary Tailwind CLI output
This commit updates the `.gitignore` file to ensure that temporary files generated by the Django Tailwind CSS CLI are not tracked by Git.

**Enhancements & Refinements**
*   Added `.django_tailwind_cli` to `.gitignore` to prevent generated files from the Django Tailwind CLI from being committed.
2025-12-14 05:27:45 +05:45
sankalp 8728ddeafc feat(settings): Integrate Tailwind CSS CLI and browser live reload
This commit introduces `django-tailwind-cli` for simplified Tailwind CSS integration and `django-browser-reload` for automatic development server reloading. It also refines static and template file configurations.

*   **New Features**
    *   Integrated `django-tailwind-cli` into `THIRD_PARTY_APPS` for managing Tailwind CSS builds.
    *   Enabled DaisyUI with Tailwind CSS by setting `TAILWIND_CLI_USE_DAISY_UI = True`.
    *   Added `django-browser-reload` to `THIRD_PARTY_APPS` and `MIDDLEWARE` for live development reloading.
*   **Enhancements & Refinements**
    *   Configured Django `TEMPLATES` to explicitly search for templates in `BASE_DIR / "templates"`.
    *   Defined `STATICFILES_DIRS` to include `BASE_DIR / "static"` and adjusted `STATIC_URL` to `/static/`.
    *   Removed `django_components` from `THIRD_PARTY_APPS`.
2025-12-14 05:25:31 +05:45
sankalp fdb7255af3 feat(api/base): Implement base home/login page
This commit introduces the foundational home and login page for the API base application, establishing core routing and view logic.

**New Features**
*   Added `urls.py` to define routing for the base API application.
*   Introduced `views.py` with a `home` view function.
*   Configured the root URL (`/`) to be served by the `home` view.
*   The `home` view is responsible for rendering the `base/login.html` template.
2025-12-14 05:25:24 +05:45
sankalp 54df9af013 feat(test): added test for models 2025-12-11 21:52:51 +05:45
sankalp 63d63d5e5c fix(notification): fixed formatting and linting 2025-12-11 21:09:14 +05:45
sankalp 466d4b868a feat(notification): added notification model and admin 2025-12-11 21:02:16 +05:45
sankalp adfd2bf63f refactor(db): replace nepali_datetime_field with phonenumber_field in THIRD_PARTY_APPS 2025-12-09 16:04:02 +05:45
sankalp 9da7e0c22d chore(deps): update pyproject.toml and requirements.txt; remove unnecessary dependencies 2025-12-09 14:51:52 +05:45
sankalp f6293dec50 Refactor(admin): remove format_strong_with_subtext and replace usage in ServiceAdmin; add format_colored_text_with_subtext in shared 2025-12-09 14:50:08 +05:45
sankalp 62aedcaff7 - Introducing format_strong, format_strong_with_subtext, format_placeholder, format_badge, format_currency, format_boolean_icon, and format_link functions in src/admin/shared.py. 2025-12-09 14:44:49 +05:45
sankalp 4afe6eaa3a - update pyproject.toml and models/clients.py 2025-12-09 14:28:35 +05:45
sankalp 8b50ff5412 This commit refactors the models in the 'models' app, specifically 'clients' and 'services' modules. It includes the PhoneNumberField in the Client model and adds a new Credential model to the services module. The Service model has been modified to include new fields and relationships. 2025-12-09 13:35:09 +05:45
sankalp e78841631c This commit refactors the project structure by moving the models and API to separate directories. It also updates the settings, Procfile, manage.py, and README files accordingly. The purpose of this change is to improve the organization and maintainability of the project. 2025-12-09 10:43:31 +05:45