The deprecated favicon.ico file has been removed from the static directory.
- **Files Removed**
- Deleted static/favicon.ico as it is no longer needed.
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`
Updated project dependencies and streamlined the requirements configuration.
**New Features**
- Added `django-htmx` for modern web interaction capabilities
**Enhancements & Refinements**
- Commented out `mysqlclient` to potentially switch database drivers or configurations
**Bug Fixes**
- No bug fixes in this change set
Added new templates for project management functionality including listing, creation, and detailed views. These templates integrate with HTMX for dynamic interactions and provide a responsive layout.
**New Features**
- **project_list.html**: Displays a table of projects with status badges, client associations, and deadline tracking. Includes actions for creating, editing, and deleting projects.
- **project_detail.html**: Shows detailed project information including status, description, client, and deadline. Features an embedded kanban board for task management and a modal for task creation.
- **project_form.html**: Provides a multi-step form wizard for creating/editing projects with validation and navigation controls.
**Enhancements & Refinements**
- Responsive design across all templates for consistent UX on different devices.
- Dynamic status badges color-coded based on project state.
- Integrated HTMX for seamless form submissions and DOM updates in project list and task management.
Introduce two new template partials for projects: a kanban board interface and a multi-step project form. These additions provide enhanced project management capabilities and streamlined project creation.
**New Features**
- **Kanban board** with four columns (To Do, In Progress, Review, Done)
- Dynamic task cards with drag-and-drop functionality
- Task CRUD operations via modals (Add Task, Edit Task)
- Status badges showing task counts per column
- **Project form** with three-step wizard interface
- Form validation and dynamic step navigation
- Responsive design for both components
**Enhancements & Refinements**
- Interactive UI elements with hover states and visual feedback
- Automatic count updates when tasks are moved or modified
- HTMX integration for seamless form submissions
- Clean and modern styling using utility classes
- Accessibility improvements with proper ARIA labels and focus management
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
- **New Features**
- Added dynamic URL reference for the client list page using `{% url 'client_list' %}` in the navbar.
- **Enhancements & Refinements**
- Improved user navigation experience by replacing a static placeholder link with a functional client list page URL.
Enhancements to the client form include phone number validation and interface improvements. The short code field is now auto-generated and disabled, while the phone input uses a proper widget with real-time validation.
**New Features**
- Added **Phone Number Validation** using libphonenumber-js with real-time feedback
- Implemented **Phone Input Widget** with country code selection
**Enhancements & Refinements**
- **Short Code Field** changed to read-only with "Auto-generated" placeholder
- Updated form styling for **Phone Input** using `join` container class
- Added phone validation script to automatically highlight valid/invalid entries
**Bug Fixes**
- Fixed potential inconsistency in phone number handling by replacing manual input with proper form widget
The dashboard template has been restructured to improve layout and introduce new dynamic content sections.
**New Features**
- Added **Recent Activity** widget to display user actions
- Introduced **Quick Stats** cards section showing key metrics
**Enhancements & Refinements**
- Updated main container to use flex layout for better spacing
- Changed bottom padding from pb-50 to pb-10 for proper footer alignment
- Added min-h-screen class to ensure full-page height
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`
Added a new favicon.ico file to the static/img directory.
**New Features**
- **Favicon**: Introduced `favicon.ico` to the project for better branding and website identification.
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 adds the complete Tailwind CSS framework, including base styles, utility classes, and theme definitions, to facilitate modern and efficient UI development.
* **New Features**
* **Tailwind CSS Integration**: Added the `tailwind.css` file, bringing the full Tailwind CSS framework into the project.
* **Base Styling**: Included a comprehensive CSS reset and foundational styles for standard HTML elements.
* **UI Component Utilities**: Provided utility classes for core UI components such as buttons (`.btn`), collapsible sections (`.collapse`), lists (`.list`), input fields (`.input`), steps indicators (`.steps`), select dropdowns (`.select`), avatars (`.avatar`), cards (`.card`), and progress bars (`.progress`).
* **Theme System**: Implemented light and dark mode themes with Oklch color definitions and CSS variables for extensible styling.
* **Animation Utilities**: Introduced various keyframe animations for interactive elements like ratings, dropdowns, toasts, and progress indicators.
* **Enhancements & Refinements**
* **Modern CSS Practices**: Utilized `@layer` directives for structured styling, `@property` for custom CSS variable definitions, and `color-mix` for dynamic color calculations.
* **Accessibility Improvements**: Enhanced focus states and user-select behaviors for interactive elements to improve usability.
* **Responsive Layout Foundations**: Defined responsive container widths and utility classes for consistent layouts across different screen sizes.
This change removes locally managed Tailwind CSS `source.css` and associated CLI binaries from the `.django_tailwind_cli` directory. This streamlines the project setup by eliminating redundant or outdated local resources for Tailwind CSS.
* **Enhancements & Refinements:**
* Deleted `source.css`, indicating a revised approach for Tailwind CSS input and processing.
* Removed `tailwindcss-extra-linux-x64-2.7.4` and `tailwindcss-linux-x64-4.1.18` CLI binaries, consolidating Tailwind CSS toolchain management.
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.
This commit introduces modern front-end development tools to streamline styling and improve the development workflow.
* **New Features**
* **Tailwind CSS Integration**: Added `django-tailwind-cli` to enable efficient utility-first CSS development.
* **Enhancements & Refinements**
* **Browser Auto-Reload**: Incorporated `django-browser-reload` for automatic browser refreshing during local development, enhancing developer experience.
* **Dependency Management**
* Updated project dependencies in `pyproject.toml`, `requirements.txt`, and `uv.lock`.
* Added `django-tailwind-cli` (v4.4.2) and `django-browser-reload` (v1.21.0) to core dependencies.
* Removed `django-components` from `requirements.txt`.
This commit introduces the foundational `base.html` template, setting up the common structure and styling for shared templates across the application.
- **New Features**
- Initial `base.html` template for consistent page structure.
- Integration of Tailwind CSS for modern and utility-first styling.
- Default application-wide dark theme enabled.
- Defined `content` block for inheritance by child templates.
- Configured a responsive container (`container mx-auto px-4`) for main content.
**New Features**
* Introduced `login.html` template for user authentication.
* Designed a basic login page structure including a hero section and a dedicated login card.
* Displays the DevSuite logo and a brief application description.
* Includes input fields for username and password.
* Provides a "Login" action button.
* Utilizes DaisyUI classes for styling elements such as inputs, buttons, and layout components.
This commit introduces the necessary files and configuration to enable Tailwind CSS and DaisyUI styling within the project's frontend build process.
* **New Features**
* Integrate DaisyUI component library by adding `@plugin "daisyui";` to `source.css`.
* Add new `source.css` file to import Tailwind CSS and DaisyUI.
* Add `tailwindcss-extra-linux-x64-2.7.4` CLI executable for Linux x64 platforms.
* Add `tailwindcss-linux-x64-4.1.18` CLI executable for Linux x64 platforms.