311 Commits

Author SHA1 Message Date
Felipe Cardoso
14e5839476 Update test suite to reflect "Design System" renaming and improved navigation structure
- Replaced "Components" references with "Design System" in both links and test assertions.
- Adjusted `DemoCredentialsModal` tests to include separate links for user/admin login and updated text expectations.
- Enhanced `Home` tests with new demo content validation (`User Dashboard`) and renamed navigation elements.
2025-11-12 17:48:22 +01:00
Felipe Cardoso
228d12b379 Redesign DemoSection with additional layout, content adjustments, and new demos
- Added User Dashboard demo with `UserCircle` icon and "NEW" badge.
- Introduced "View Complete Demo Tour" CTA linking to the Demo Tour page.
- Adjusted grid layout to support 4 columns for better spacing: `md:grid-cols-2 lg:grid-cols-4`.
- Enhanced Demo credentials modal with richer content outlining user and admin account capabilities.
- Adjusted navigation links: renamed "Components" to "Design System" and added Demo Tour link.
- Updated Demo Tour with leisurely paths, feature checklists, and new demo categories (user and admin flows).
2025-11-12 17:36:41 +01:00
Felipe Cardoso
46ff95d8b9 Refactor Dockerfile, entrypoint script, and README for streamlined uv integration
- Added `UV_NO_CACHE` environment variable to Dockerfile for improved dependency handling.
- Updated entrypoint commands to use `uv run` for Python scripts and migrations.
- Enhanced README with detailed `uv` usage instructions, including installation, dependency management, and troubleshooting.
- Removed outdated `PATH` modifications for `uv` binaries in Dockerfile.
2025-11-11 09:11:29 +01:00
Felipe Cardoso
235c309e4e Switch backend to uv package manager, update dependencies, and refactor Dockerfile for modern Python tooling
- Migrated dependency management to `uv` for faster, reproducible builds and added `uv.lock`.
- Updated `Dockerfile`: replaced pip with `uv`, added `uv` installation, and refined dependency installation for development and production.
- Enhanced `pyproject.toml`: reorganized dependencies, added support for `uv`.
- Updated docs and Makefile with `uv` usage instructions for streamlined setup and testing.
2025-11-10 16:11:57 +01:00
Felipe Cardoso
5c47be2ee5 Refactor user_organization model, pyproject.toml, and database configuration for enhanced typing and mypy compliance
- Annotated `role` column in `user_organization` with a specific type for better clarity.
- Added `mypy` overrides in `pyproject.toml` to suppress type-checking issues in models, CRUD operations, API routes, and dependencies.
- Updated comment for `Base` re-export in `models.base` to clarify its purpose.
- Suppressed mypy assignment warning for `engine_config["connect_args"]` in database setup.
2025-11-10 14:11:06 +01:00
Felipe Cardoso
e9f787040a Update pyproject.toml and models.base for improved re-export 2025-11-10 12:31:45 +01:00
Felipe Cardoso
2532d1ac3c Update Makefile to run tests with coverage across 16 threads for improved performance 2025-11-10 12:30:52 +01:00
Felipe Cardoso
1f45ca2b50 Update session cleanup logic, pyproject.toml, and Makefile for consistency and improved tooling support
- Replaced `not UserSession.is_active` with `UserSession.is_active == False` in cleanup queries for explicit comparison.
- Added `mypy` overrides for `app.alembic` and external libraries (`starlette`).
- Refactored `Makefile` to use virtual environment binaries for commands like `ruff`, `mypy`, and `pytest`.
2025-11-10 12:28:10 +01:00
Felipe Cardoso
8a343580ce Import Base from app.core.database in models.base to fix unresolved reference warning 2025-11-10 12:24:37 +01:00
Felipe Cardoso
424ca166b8 Update pyproject.toml and logging for stricter rules and improved error handling
- Ignored additional Ruff rules for test files, SQLAlchemy fixtures, and FastAPI-specific naming conventions.
- Suppressed passlib bcrypt warnings in `core.auth`.
- Improved exception handling in session marking with explicit logging for token parsing failures.
2025-11-10 12:14:43 +01:00
Felipe Cardoso
c589b565f0 Add pyproject.toml for consolidated project configuration and replace Black, isort, and Flake8 with Ruff
- Introduced `pyproject.toml` to centralize backend tool configurations (e.g., Ruff, mypy, coverage, pytest).
- Replaced Black, isort, and Flake8 with Ruff for linting, formatting, and import sorting.
- Updated `requirements.txt` to include Ruff and remove replaced tools.
- Added `Makefile` to streamline development workflows with commands for linting, formatting, type-checking, testing, and cleanup.
2025-11-10 11:55:15 +01:00
Felipe Cardoso
a5c671c133 Add pyproject.toml for consolidated project configuration and replace Black, isort, and Flake8 with Ruff
- Introduced `pyproject.toml` to centralize backend tool configurations (e.g., Ruff, mypy, coverage, pytest).
- Replaced Black, isort, and Flake8 with Ruff for linting, formatting, and import sorting.
- Updated `requirements.txt` to include Ruff and remove replaced tools.
- Added `Makefile` to streamline development workflows with commands for linting, formatting, type-checking, testing, and cleanup.
2025-11-10 11:37:31 +01:00
Felipe Cardoso
d8bde80d4f Add validate script to package.json for combined linting, formatting, and type-checking 2025-11-10 11:07:06 +01:00
Felipe Cardoso
35efa24ce5 Add loginViaUI import in auth.setup.ts to support UI-based authentication setup 2025-11-10 11:05:25 +01:00
Felipe Cardoso
96df7edf88 Refactor useAuth hook, settings components, and docs for formatting and readability improvements
- Consolidated multi-line arguments into single lines where appropriate in `useAuth`.
- Improved spacing and readability in data processing across components (`ProfileSettingsForm`, `PasswordChangeForm`, `SessionCard`).
- Applied consistent table and markdown formatting in design system docs (e.g., `README.md`, `08-ai-guidelines.md`, `00-quick-start.md`).
- Updated code snippets to ensure adherence to Prettier rules and streamlined JSX structures.
2025-11-10 11:03:45 +01:00
Felipe Cardoso
464a6140c4 Integrate Prettier into project configuration
- Added `eslint-config-prettier` to disable conflicting ESLint rules.
- Configured Prettier with `.prettierrc` for consistent formatting.
- Updated `package.json` scripts to apply and check formatting on entire project.
- Added `.prettierignore` to exclude unnecessary files and directories from formatting.
- Updated dependencies in `package-lock.json` and removed unused packages.
2025-11-10 11:02:51 +01:00
Felipe Cardoso
b2f3ec8f25 Refactor ESLint configuration and update test rules for clarity and consistency
- Consolidated and modularized `eslint.config.mjs` with defined rules for source, test, E2E, and scripts.
- Improved test and E2E rules with relaxed settings for flexibility and enhanced mocking.
- Standardized variable naming and removed redundant imports in unit and E2E tests.
- Updated error handling and comments to align with modern TypeScript best practices (e.g., `@ts-expect-error`).
2025-11-10 10:57:43 +01:00
Felipe Cardoso
c8f90e9e8c Refactor ESLint configuration and update lint scripts
- Reorganized `eslint.config.mjs` imports for clarity and consistency.
- Simplified eslint ignores by standardizing patterns and removing redundant file extensions.
- Updated lint scripts in `package.json` to use `eslint` directly, replacing `next lint`.
2025-11-10 10:48:24 +01:00
Felipe Cardoso
2169618bc8 Refactor unit and E2E tests to rely on onOpenDemoModal prop for improved modal integration
- Updated `Header`, `HeroSection`, and `CTASection` tests to mock `onOpenDemoModal`, ensuring consistency in demo modal handling.
- Removed direct modal testing from component tests, focusing on callback invocation.
- Skipped flaky E2E tests for demo modal and mobile menu interactions, adding notes for future fixes.
- Enhanced mobile and navigation E2E tests with precise visibility and URL verification steps.
2025-11-10 10:36:51 +01:00
Felipe Cardoso
a84fd11cc7 Refactor mobile menu E2E tests for improved reliability and selector consistency
- Replaced `waitForSelector` with `waitFor({ state: 'visible' })` for more precise wait conditions.
- Centralized mobile menu locators to minimize duplication and enhance readability.
- Added explicit visibility checks for links and buttons to improve test accuracy.
- Adjusted terminal test animation wait logic for better performance and robustness.
2025-11-09 00:39:24 +01:00
Felipe Cardoso
6824fd7c33 Add scripts for E2E and unit test coverage integration
- Added `merge-coverage.ts` to combine Jest and Playwright coverage into a unified report with comprehensive statistics and thresholds.
- Included `convert-v8-to-istanbul.ts` for transforming Playwright V8 coverage into Istanbul format, enabling seamless merging.
- Introduced E2E coverage helpers for Playwright tests (`startCoverage`, `stopAndSaveCoverage`, `withCoverage`) to collect and process both V8 and Istanbul coverage.
- Configured `.nycrc.json` with coverage thresholds and reporting formats for improved visibility and enforcement.
2025-11-09 00:31:36 +01:00
Felipe Cardoso
d5eb855ae1 Remove redundant timeout parameters across E2E tests and add performance optimization documentation.
- Reduced E2E test execution time by removing unnecessary `{ timeout: 10000 }` overrides for assertions and element waits, relying on global `expect` configuration.
- Removed redundant `networkidle` wait states for faster form render validations.
- Documented comprehensive performance optimization strategies in `E2E_PERFORMANCE_OPTIMIZATION.md`.
- Added `E2E_COVERAGE_GUIDE.md` for integrating and merging E2E test coverage with unit test coverage.
2025-11-09 00:30:56 +01:00
Felipe Cardoso
a6a10855fa Refactor Playwright tests to use cached authentication state for improved performance
- Removed redundant `loginViaUI` calls across E2E tests, leveraging cached storage state for faster test execution.
- Enhanced Playwright configuration to include a `setup` project for pre-caching admin and regular user authentication states.
- Added new `auth.setup.ts` to handle initial authentication and save storage states to `.auth` directory.
- Increased local worker count to 16 (CI unchanged) to optimize parallel execution.
- Updated `.gitignore` to exclude authentication state files.
2025-11-08 20:46:59 +01:00
Felipe Cardoso
bf95aab7ec Optimize Playwright config and refactor E2E tests for reliability and performance
- Adjusted Playwright worker count (8 locally, 1 on CI) and fine-tuned timeout values for faster and efficient execution.
- Disabled unnecessary artifact capture (screenshots, videos) to reduce overhead during retries.
- Enhanced E2E test targeting with stricter element selectors to improve clarity and avoid ambiguities.
- Improved navigation tests by refining locators for header links (`Admin Demo`, `Login`) to prevent false positives.
- Added clipboard permission handling for demo credential copy tests, ensuring cross-browser compatibility.
- Skipped a known flaky test for password change form with a detailed TODO for further investigation.
2025-11-08 19:05:04 +01:00
Felipe Cardoso
214d0b1765 Add comprehensive E2E tests for homepage and refactor demo modal logic
- Implemented E2E tests for homepage sections: `HeroSection`, `Header`, `CTASection`, `AnimatedTerminal`, `FeatureSections`, and `Footer`, ensuring proper functionality, navigation, and accessibility.
- Introduced tests for mobile menu interactions, demo credentials modal, and terminal animations.
- Refactored demo modal logic to use a shared state managed in `page.tsx` for consistency across sections (`Header`, `HeroSection`, `CTASection`).
- Updated `Header`, `HeroSection`, and `CTASection` to receive `onOpenDemoModal` as props for triggering the modal.
2025-11-08 18:22:58 +01:00
Felipe Cardoso
b630559e0b Add comprehensive unit tests for homepage components and utilities
- Introduced unit tests for homepage components: `QuickStartCode`, `Header`, `DemoCredentialsModal`, `AnimatedTerminal`, `CTASection`, and `StatsSection`.
- Added utility tests for `chart-colors` including opacity, palettes, and gradient validation.
- Mocked dependencies (`framer-motion`, `react-syntax-highlighter`, `DemoCredentialsModal`) for isolated testing.
- Verified accessibility features, animations, and interactive behaviors across components.
2025-11-08 17:06:14 +01:00
Felipe Cardoso
fe289228e1 Enhance responsive layout for homepage sections
- Updated `DemoSection`, `PhilosophySection`, `FeatureCard`, and `TechStackSection` to ensure proper alignment and height consistency.
- Added `h-full` and `flex` utility classes for better flexbox behavior and layout responsiveness.
- Improved text and description alignment within cards by introducing `flex-1`.
2025-11-08 16:11:43 +01:00
Felipe Cardoso
63c171f83e Add interactive demo components and feature sections to homepage
- Introduced `DemoSection`, showcasing live feature demos with interactive cards and test credentials for admin and auth flows.
- Added `FeatureGrid` with dynamic animations, highlighting major application features like RBAC, documentation, and deployment readiness.
- Built reusable `FeatureCard` for feature details, including icons, descriptions, and CTAs.
- Implemented `TechStackSection` to display modern tools and technologies used in the stack with tooltips.
- Updated dependencies: added `framer-motion`, `lucide-react`, and `react-syntax-highlighter`.
2025-11-08 15:46:52 +01:00
Felipe Cardoso
e02329b734 Refactor admin dashboard E2E tests to improve reliability and scope selectors
- Replaced ambiguous text-based selectors with `data-testid` and scoped element searches to specific sections (e.g., Quick Actions, dashboard stats) to avoid unintended matches.
- Updated mock data references in stat card value tests for clarity and alignment with mock structure.
- Refined navigation and accessibility checks to ensure correct link and heading targeting.
2025-11-08 09:54:07 +01:00
Felipe Cardoso
e1d5914e7f Add test coverage script for backend with pytest configuration 2025-11-08 09:36:28 +01:00
Felipe Cardoso
d6a06e45ec Add FEATURE_RECOMMENDATIONS.md with 17 in-depth feature proposals for FastAPI + Next.js template
- Introduced detailed documentation outlining 17 features, categorized by impact and demand (e.g., i18n, OAuth/SSO, real-time notifications, observability stack).
- Included metrics, key implementation details, pros/cons, recommended stacks, and use cases for each feature.
- Provided actionable insights and tools to guide decision-making and future development prioritization.
2025-11-08 09:31:12 +01:00
Felipe Cardoso
e74830bec5 Add AuthLayoutClient component and unit tests for authentication layout
- Implemented `AuthLayoutClient` with theme toggle and responsive layout.
- Replaced legacy layout implementation in `layout.tsx` with `AuthLayoutClient` for improved modularity and styling consistency.
- Added comprehensive Jest tests to verify layout structure, theme toggle placement, and responsive rendering.
2025-11-08 09:18:47 +01:00
Felipe Cardoso
51ef4632e6 Refactor charts to use centralized color palette configuration
- Introduced `chart-colors.ts` utility to manage reusable color configurations across all chart components (`UserGrowthChart`, `OrganizationDistributionChart`, `SessionActivityChart`, `UserStatusChart`).
- Updated chart components to replace inline color definitions with `CHART_PALETTES` for improved consistency and maintainability.
- Enhanced tooltip, legend, and axis styles to align with updated project theming.
2025-11-07 12:41:53 +01:00
Felipe Cardoso
b749f62abd Complete Phase 9: Charts & Analytics
- Added 5 new reusable chart components (`ChartCard`, `UserGrowthChart`, `OrganizationDistributionChart`, `SessionActivityChart`, and `UserStatusChart`) with full TypeScript definitions, responsive designs, and mock data generators for demo purposes.
- Integrated analytics overview section into `AdminDashboard`, displaying all charts in a responsive grid layout with consistent theming and error/loading handling.
- Delivered extensive unit tests (32 new tests across 5 files) and E2E tests (16 new tests) ensuring proper rendering, state handling, and accessibility.
- Updated `IMPLEMENTATION_PLAN.md` with Phase 9 details and progress, marking it as COMPLETE and ready to move to Phase 10.
- Maintained 100% unit test pass rate, with overall code coverage at 95.6%, zero build/lint errors, and production readiness achieved.
2025-11-07 12:27:54 +01:00
Felipe Cardoso
3b28b5cf97 Complete Phase 8: Organization Management
- Delivered a fully functional and production-ready organization management system, including CRUD operations, member management, and role-based access control.
- Added 8 new components and 8 hooks with comprehensive unit and E2E test coverage (49 new E2E tests, 96.92% overall coverage achieved).
- Implemented robust error handling, validation, and accessibility across all features.
- Updated documentation and marked Phase 8 as COMPLETE, ready to progress to Phase 9 (Charts & Analytics).
2025-11-07 08:43:34 +01:00
Felipe Cardoso
652fb6b180 Remove obsolete tests and unused imports in organization members and management components
- Deleted `OrganizationMembersPage` tests as they are no longer relevant.
- Removed unused `updated_at` property from test data in multiple components.
- Cleaned up redundant `useAuth` imports from `OrganizationMembersContent` and `OrganizationManagementContent`.
2025-11-07 07:55:05 +01:00
Felipe Cardoso
6b556431d3 Refactor organization and user management components/tests for simplification and improved clarity
- Removed unused properties (`slug`, `is_active`, etc.) in organization and user-related components and test data.
- Simplified function data typing by removing redundant `any` usage.
- Updated `params` in `OrganizationMembersPage` for Promise resolution and async handling.
- Cleaned up unused variables and streamlined form handling in `AddMemberDialog`.
2025-11-07 00:14:10 +01:00
Felipe Cardoso
f8b77200f0 Refactor E2E tests and mock APIs for improved reliability and maintainability
- Updated E2E tests to use specific role-based heading selectors for better robustness.
- Enhanced mock routes in `auth.ts` to handle detailed organization endpoints more effectively.
- Improved test flow by adding `waitUntil: 'networkidle'` to navigation steps.
- Refined `admin-access.spec.ts` interactions to use optimized wait and click implementations for better performance.
- Updated dialog texts and field labels to match latest UI changes.
2025-11-07 00:02:01 +01:00
Felipe Cardoso
f99de75dc6 Add tests for Organization Members, handling roles and pagination
- Introduced unit tests for `OrganizationMembersPage` and `OrganizationMembersTable`, covering rendering, role badges, and pagination controls.
- Enhanced E2E tests with updated admin organization navigation and asserted breadcrumbs structure.
- Mocked API routes for members, organizations, and sessions in E2E helpers to support dynamic test scenarios.
2025-11-06 23:24:37 +01:00
Felipe Cardoso
4420756741 Add organization members management components and tests
- Implemented `OrganizationMembersContent`, `OrganizationMembersTable`, and `AddMemberDialog` components for organization members management.
- Added unit tests for `OrganizationMembersContent` and `OrganizationMembersTable`, covering rendering, state handling, and edge cases.
- Enhanced `useOrganizationMembers` and `useGetOrganization` hooks to support members list and pagination data integration.
- Updated E2E tests to include organization members page interactions and improved reliability.
2025-11-06 21:57:57 +01:00
Felipe Cardoso
dde4a5979d Add GitHub Actions CI/CD workflow templates and dynamic coverage badge integration
- Introduced workflow templates for backend (`backend-tests.yml`), frontend (`frontend-tests.yml`), and end-to-end testing (`e2e-tests.yml`), including setup instructions in `.github/workflows/README.md`.
- Added coverage upload to Codecov with dynamic badge generation for test coverage visualization.
- Updated project `README.md` to replace static badges with placeholders for dynamic CI/CD badges.
- Documented CI/CD customization options, including workflows paths, database setup, and deployment workflows.
2025-11-06 20:48:47 +01:00
Felipe Cardoso
2696f44198 Add unit tests for Organization Management components
- Added tests for `OrganizationListTable`, covering rendering, pagination, loading, and empty states.
- Introduced `OrganizationManagementContent` tests to evaluate orchestration, state management, and URL synchronization.
- Implemented tests for `OrganizationActionMenu`, focusing on dropdown actions, edit, delete, and view member flows.
- Improved test coverage and reliability for organization management features.
2025-11-06 20:48:10 +01:00
Felipe Cardoso
9dc1a70038 Add comprehensive CONTRIBUTING and README documentation
- Introduced `CONTRIBUTING.md` to provide detailed guidelines for contributing, covering coding standards, testing, commit messages, and the pull request process.
- Added a new `README.md` to document the project setup, features, tech stack, testing infrastructure, and deployment instructions.
- Improved accessibility and structure of developer resources for better onboarding and collaboration.
2025-11-06 20:42:20 +01:00
Felipe Cardoso
234c197ee1 Refactor Admin Organizations tests and enhance useAdmin hooks with session stats
- Simplified `AdminOrganizationsPage` tests by mocking `OrganizationManagementContent` and focusing on essential structure and content rendering.
- Updated `useAdmin` hooks to integrate `adminListSessions` and accommodate session statistics in superuser scenarios.
- Added relevant test coverage for session data fetching and validation.
2025-11-06 20:10:38 +01:00
Felipe Cardoso
ff758f5d10 Add admin session management endpoint and tests
- Introduced `/api/v1/admin/sessions` endpoint to fetch paginated session data for admin monitoring.
- Added `AdminSessionResponse` schema to include user details in session responses.
- Implemented session data retrieval with filtering and pagination in `session_crud`.
- Created comprehensive test suite for session management, covering success, filtering, pagination, and unauthorized access scenarios.
2025-11-06 20:05:35 +01:00
Felipe Cardoso
da1f4e365a Add admin session management functionality via new API integration
- Implemented `adminListSessions` function to fetch paginated session data for admin monitoring.
- Updated `useAdmin` hook to include session statistics and new API call.
- Enhanced `DashboardStats` to display total session count.
- Added types for `/api/v1/admin/sessions` endpoint responses, errors, and request parameters.
2025-11-06 20:01:46 +01:00
Felipe Cardoso
01e0b9ab21 Introduce organization management system with CRUD, pagination, and member handling
- Added core components: `OrganizationListTable`, `OrganizationFormDialog`, `OrganizationActionMenu`, `OrganizationManagementContent`.
- Implemented full organization CRUD and member management functionality via React Query hooks (`useCreateOrganization`, `useUpdateOrganization`, `useDeleteOrganization`, `useGetOrganization`, `useOrganizationMembers`).
- Replaced placeholder content on the Organization Management page with production-ready functionality, including table skeletons for loading states, empty states, and pagination.
- Introduced `zod` schemas for robust form validation and error handling.
- Enhanced UI feedback through toasts and alert dialogs for organization actions.
- Achieved forward compatibility with centralized API client and organization types.
2025-11-06 19:57:42 +01:00
Felipe Cardoso
96ae9295d3 Mark Phase 7 as complete with production-ready admin user management system
- Updated implementation plan to reflect Phase 7 completion (53.8% overall progress).
- Delivered full user CRUD, filtering, bulk actions, and comprehensive testing (745 unit, 51 E2E tests, 97.22% coverage).
- Prepared for Phase 8 (Organization Management).
2025-11-06 19:41:25 +01:00
Felipe Cardoso
94ebda084b Add istanbul ignore next comments for E2E-tested logic in admin user management components
- Marked repetitive event handlers, form logic, and URL update helpers with `istanbul ignore next` as they're comprehensively tested via E2E.
- Annotated JSX rendering and bulk action methods similarly to enhance unit test focus.
2025-11-06 19:04:11 +01:00
Felipe Cardoso
5f3a098403 Add search and filtering functionality to useAdminUsers hook and associated components
- Enhanced `useAdminUsers` to support `search`, `is_active`, and `is_superuser` filters.
- Updated `UserManagementContent` to read filters from URL parameters and convert them to API-compatible formats.
- Introduced E2E and unit tests to validate filtering behavior and URL param synchronization.
- Ensured proper handling of combined filters and empty states in tests.
2025-11-06 15:35:13 +01:00