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`
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
The changes introduce a new API route for client-related functionality.
- **New Features**
- Added `/clients/` endpoint routing to `src.api.clients.urls` module
- **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
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
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`
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.
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.
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`.
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.