Commit Graph
42 Commits
Author SHA1 Message Date
sankalp 9c8bef8c34 feat(root): update dependencies and improve configuration
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
2025-12-14 09:39:21 +05:45
sankalp 31688a6b04 feat(projects): add project management templates
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.
2025-12-14 09:39:12 +05:45
sankalp 036a6471a3 feat(projects/partials): add kanban board and project form templates
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
2025-12-14 09:39:00 +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 f7619eefd9 feat(templates/shared): update navbar client link functionality
- **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.
2025-12-14 08:18:55 +05:45
sankalp 4698351e58 feat(clients/partials): improve client form functionality and validation
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
2025-12-14 08:18:51 +05:45
sankalp bce0cbcd39 feat(templates/base): update dashboard layout and add widgets
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
2025-12-14 08:18:24 +05:45
sankalp ab0773883a feat(static/css): update tailwind CSS configuration and remove deprecated styles
- **New Features**
  - Added **`--container-2xl`** container size variable for wider layout support.
  - Introduced **`--text-lg`** and **`--text-lg--line-height`** variables for larger text sizing.
  - Added **`--radius-xl`** borderRadius variable for extended styling options.

- **Enhancements & Refinements**
  - Removed deprecated color variables (`--color-indigo-*`, `--color-gray-*`) to streamline theme configuration.
  - Cleaned up utility classes by removing unused components (`collapse-arrow`, `collapse-plus`, `dropdown`, `toast`, `checkbox`, `radio`, `rating`, `navbar`, `stats`, `filter`).
  - Improved spacing utilities with new margin and padding variants (`mt-1`, `mt-1.5`, `mt-5`, `space-x-2`, `gap-y-2`).
  - Added responsive variants for better mobile adaptation (`max-md:mt-2`, `max-md:h-8`, `sm:mt-8`).

- **Bug Fixes**
  - Fixed positioning utilities by adding missing **`relative`** class.
  - Corrected hover behavior for underline styles with **`hover:underline`** replacement.
2025-12-14 08:18:11 +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 c5f3ca4e7a feat(static/img): add favicon.ico
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.
2025-12-14 08:17:36 +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 e3a96e1190 feat(static/img): add devsuite image
Introduces a new image asset for the devsuite.

*   **New Features**
    *   Added `devsuite.png` to `static/img`.
2025-12-14 05:39:14 +05:45
sankalp e58913caad feat(css): Introduce Tailwind CSS framework
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.
2025-12-14 05:39:11 +05:45
sankalp cbede41092 refactor(django_tailwind_cli): Remove local Tailwind CSS CLI assets
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.
2025-12-14 05:29:09 +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 1953f8df04 feat(build): Integrate Tailwind CSS and browser auto-reload
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`.
2025-12-14 05:25:18 +05:45
sankalp cc7c31b521 feat(templates/shared): Add base HTML template with Tailwind CSS and dark theme
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.
2025-12-14 05:25:06 +05:45
sankalp 839062aedd feat(login): Add initial login page template
**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.
2025-12-14 05:25:02 +05:45
sankalp 5a06f733ce feat(.django_tailwind_cli): Add Tailwind CSS and DaisyUI integration
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.
2025-12-14 05:24:56 +05:45
sankalp 473a735696 chore(docs): updated README.md 2025-12-11 22:21:01 +05:45
sankalp 7b565e4aa7 chore(docs): updated README.md 2025-12-11 22:17:17 +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 db5a1a8981 refactor(.github/workflows/ci): update DJANGO_SETTINGS_MODULE in CI workflow jobs to reference src instead of ssgd 2025-12-09 16:02:17 +05:45
sankalp c11ac9d993 refactor(deps): remove unused dependency django-nepali-datetime-field and nepali-datetime 2025-12-09 15:56:17 +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 27ca456212 chore(ci): update DJANGO_SETTINGS_MODULE in CI workflow for ssgd project 2025-12-09 10:44:10 +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
sankalp 4dec888e17 feat: scaffold initial Django project structure and configuration 2025-11-25 13:01:42 +05:45
sankalp 9edeeff1ac Initial commit 2025-11-25 12:56:27 +05:45