- **New Features**:
- Added new URL route for notifications under `/notifications/` endpoint
- Integrated `src.api.notifications.urls` module into the main URL configuration
```
This commit introduces a comprehensive notification management system with three new templates for displaying and managing notifications.
**New Features**
- Added `dashboard.html` with a notification overview featuring:
- Summary statistics for pending, sent, and failed notifications
- A table of recent notifications with status indicators
- Navigation links to view all notifications
- Added `notification_list.html` for displaying all notifications in a paginated table format
- Added `notification_detail.html` for viewing individual notification details including:
- Recipient information
- Subject and message content
- Status with visual indicators
- Timestamps for creation and delivery
- Related object information when available
**Enhancements & Refinements**
- Consistent styling across all notification templates using the existing design system
- Status badges with color coding (success for sent, error for failed, warning for pending)
- Responsive table layouts for better mobile viewing
- Empty state handling for when no notifications exist
```
The navbar now includes a functional link to the productivity dashboard page.
- **New Features**:
- Added URL routing for the productivity dashboard link in the navbar
- Replaced placeholder href="#" with dynamic {% url 'productivity_dashboard' %} tag
```
- **New Features**:
- Added new URL route for productivity API at `/productivity/`
- Integrated `src.api.productivity.urls` module into the main URL configuration
```
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
```
The navbar now includes a functional link to the finance dashboard using Django's URL template tag, replacing the placeholder href.
**New Features**
- Added dynamic URL resolution for the finance dashboard link using `{% url 'finance_dashboard' %}`
**Enhancements & Refinements**
- Replaced static placeholder href (`#`) with a functional Django URL tag for better navigation
```
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
```
Add new finance dashboard with key financial metrics and recent transaction overviews. Implement invoice and expense management templates with create, edit, and list views.
**New Features**
- **Finance Dashboard**: Shows total income, expenses, net profit, and pending income stats
- **Recent Transactions**: Displays tables for recent invoices and expenses
- **Invoice Management**:
- Create/edit invoice form with client, project, amount, status
- Invoice list view with filtering and actions
- **Expense Tracking**:
- Expense creation/editing form
- Expense list with category filter and delete action
**Enhancements & Refinements**
- Responsive grid layouts for dashboard components
- Status badges with color coding for invoices
- HTMX integration for delete actions in list views
- Consistent styling with borders, shadows, and hover states
- Quick action buttons for creating new invoices/expenses
- Dynamic form titles for create/edit modes
</answer>
Added new API routing configuration for the finance module.
**New Features**
- **Finance API**: Integrated routing for the new finance module at `/finance/` endpoint.
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
Initial addition of core finance template files to support financial management features.
**New Features**
- **dashboard.html**: Base template for financial dashboard view
- **expense_list.html**: Template for displaying expense tracking records
- **invoice_form.html**: Template for invoice creation and editing interface
- **invoice_list.html**: Template for displaying invoice records and summaries
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.
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
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.
Updated project dependencies to include new internationalization tools and maintain development requirements.
**New Features**
- Added **Babel** library for internationalization and localization support
**Enhancements & Refinements**
- Updated `requirements.txt` with proper formatting and organization
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.
The `django-tailwind-css` package has been replaced with `django-tailwind-cli` in the project dependencies to utilize the CLI tool for improved Tailwind CSS integration.
**New Features**
- Added **django-tailwind-cli** as the new Tailwind CSS integration package
**Enhancements & Refinements**
- Removed **django-tailwind-css** to transition to the CLI-based workflow
- Added HTMX integration for enhanced interactivity
- Introduced favicon support and updated site title
- Fixed navbar link routing
**New Features**
- **HTMX Support**: Added HTMX script inclusion to enable modern AJAX functionality
- **Favicon Support**: Implemented favicon linking using Django's static file system
**Enhancements & Refinements**
- **Branding**: Changed page title from generic 'My Django App' to 'DevSuite'
- **Navigation**: Updated navbar project link to use proper Django URL reverse lookup
- **Formatting**: Improved HTML structure with better spacing and indentation
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.