48 Commits

Author SHA1 Message Date
bd522743af chore: update pnpm-lock.yaml to include swr and associated dependencies
Added `swr@2.3.3` with peer and regular dependencies (`react@19.1.0`, `dequal@2.0.3`, `use-sync-external-store@1.5.0`). Updated lock file to reflect changes.
2025-05-16 15:45:41 +02:00
bb16aaee40 chore: update pnpm-lock.yaml to include swr and associated dependencies
Added `swr@2.3.3` with peer and regular dependencies (`react@19.1.0`, `dequal@2.0.3`, `use-sync-external-store@1.5.0`). Updated lock file to reflect changes.
2025-05-16 14:45:06 +02:00
bb62a374c5 docs: update project status to reflect revised progress and priorities
Revised `PROJECT_STATUS.md` to adjust module completion statuses, testing progress, and timeline estimates. Refocused priorities on missing modules, authentication enhancements, and test/documentation improvements.
2025-05-16 14:44:57 +02:00
a56e774892 test: remove redundant JwtAuthGuard mock in unit test file 2025-05-16 14:44:28 +02:00
cd5ad2e1e4 feat: implement API service, middleware, and authentication context
- Added `lib/api.ts` to centralize API communication for authentication, projects, persons, tags, and groups.
- Introduced `middleware.ts` to handle route protection based on authentication and roles.
- Created `auth-context.tsx` to manage authentication state with `AuthProvider` and `useAuth` hook.
- Updated `package.json` to include `swr` for data fetching.
- Enhanced project documentation (`RESPONSIVE_DESIGN.md` and `README.md`) with responsive design and architecture details.
2025-05-16 14:43:56 +02:00
cab80e6aef feat: add dashboard, projects, and persons pages with reusable components
Implemented the following:
- `DashboardPage`: displays an overview of stats, recent projects, and tabs for future analytics/reports.
- `ProjectsPage` and `PersonsPage`: include searchable tables, actions, and mobile-friendly card views.
- Integrated reusable components like `AuthLoading`, `DropdownMenu`, `Table`, and `Card`.
2025-05-16 14:43:14 +02:00
753669c622 feat: add reusable frontend components for admin, dashboard, and tag management
Implemented reusable components:
- `TagSelector`: a customizable tag selection control with asynchronous mock data loading.
- `AuthLoading`: a loading state wrapper for authentication processes.
- `AdminLayout` and `DashboardLayout`: layouts with navigation and user management features.
- `ThemeProvider`: supports dynamic theme toggling.
2025-05-16 14:42:58 +02:00
cf292de428 docs: update documentation to reflect module completion and testing progress
Updated `PROJECT_STATUS.md` with completed modules (`auth`, `groups`, `tags`) and unit testing progress, including marked tests for controllers and services as done. Added logical and conceptual database models (`DATABASE_SCHEMA_PLAN.md`) and revised implementation statuses in `IMPLEMENTATION_GUIDE.md`.
2025-05-15 20:57:59 +02:00
2de57e6e6f feat: export projectCollaborators in schema index 2025-05-15 20:57:45 +02:00
92c44bce6f feat: add project collaborators relations
Defined `projectCollaborators` relations in the database schema. Updated `usersRelations` and `projectsRelations` to include `projectCollaborations` and `collaborators` respectively. Added `projectCollaboratorsRelations` to establish relationships with `projects` and `users`.
2025-05-15 20:57:32 +02:00
0154f9c0aa feat: add project collaborators schema
Introduced `projectCollaborators` schema to define project-user relationships. Includes indices and a unique constraint for `projectId` and `userId`. Added corresponding type definitions for select and insert operations.
2025-05-15 20:57:13 +02:00
c16c8d51d2 feat: add collaborator management to projects module
Added endpoints to manage collaborators in `ProjectsController`:
- Add collaborator
- Remove collaborator
- Get project collaborators

Updated `ProjectsService` with corresponding methods and enhanced `checkUserAccess` to validate user access as owner or collaborator. Included unit tests for new functionality in controllers and services.
2025-05-15 20:56:43 +02:00
576d063e52 test: add unit tests for users module
Added comprehensive unit tests for `UsersController` and `UsersService`, covering CRUD operations, GDPR consent updates, data export, and exception handling. Mocked `JwtAuthGuard` and database operations for all tests.
2025-05-15 20:48:42 +02:00
269ba622f8 test: add unit tests for persons and projects modules
Added comprehensive unit tests for `PersonsController`, `PersonsService`, `ProjectsController`, and `ProjectsService`. Covered CRUD operations, exception handling, group/project associations, and user access validation. Mocked `JwtAuthGuard` for all tests.
2025-05-15 20:31:07 +02:00
0f3c55f947 docs: update project status to reflect completed modules and testing progress
Updated `PROJECT_STATUS.md` to mark the `groups` and `tags` modules as completed, along with unit tests for services and controllers. Adjusted backend progress percentages and revised remaining priorities, focusing on module relations and real-time communication features.
2025-05-15 19:49:00 +02:00
50583f9ccc test: add unit tests for tags module and global auth guard
Added comprehensive unit tests for `TagsService` and `TagsController`, covering CRUD operations, exception handling, and associations with projects and persons. Mocked `JwtAuthGuard` globally for testing purposes.
2025-05-15 19:48:44 +02:00
7eae25d5de test: add comprehensive unit tests for groups and auth modules
Added unit tests for `GroupsService`, `GroupsController`, `AuthService`, `AuthController`, and `JwtAuthGuard` to ensure functionality and coverage. Includes tests for entity operations, exception handling, and integration scenarios.
2025-05-15 19:29:12 +02:00
04aba190ed docs: update project status with authentication progress
Marked authentication module, GitHub OAuth, JWT strategies, and guards as completed in `PROJECT_STATUS.md`. Updated progress percentages, adjusted task priorities, and revised
2025-05-15 19:28:45 +02:00
9792110560 docs: add CI/CD and deployment documentation
Added a new `README.md` under `.github` to document the project's CI/CD workflow and deployment setup. Includes GitHub Actions pipeline descriptions, Docker configuration details, environment variables, and production deployment considerations.
2025-05-15 19:10:07 +02:00
e64d706274 feat: implement global JWT auth guard with public route support
Introduced `JwtAuthGuard` as a global authentication mechanism using `APP_GUARD`. Added support for public routes via a `Public` decorator with metadata. Updated `AuthController`
2025-05-15 19:09:52 +02:00
4dbb858782 docs: update README with revised architecture and setup instructions
Streamlined project structure documentation by detailing separate backend and frontend directories, updated setup commands, added Docker usage examples, and improved clarity on environment configuration.
2025-05-15 18:17:18 +02:00
b64a6e9e2e refactor: remove redundant Git mapping for backend folder in IDE configuration 2025-05-15 18:10:28 +02:00
f739099524 docs: update project status to reflect completed database migration system
Updated `PROJECT_STATUS.md` to mark the database migration system as completed with DrizzleORM. Adjusted progress percentages and next steps to prioritize authentication and core functionalities.
2025-05-15 18:10:19 +02:00
76ef9a3380 feat: add db:update script to streamline database updates
Introduced a new `db:update` script combining migration generation and execution. Updated `db:generate` and `db:push` commands for consistency with DrizzleKit updates.
2025-05-15 18:09:49 +02:00
d15bf3fe90 fix: update migrations output path in Drizzle configuration 2025-05-15 18:09:29 +02:00
63458333ca feat: add tags module with CRUD operations and DTOs
Introduced a new `TagsModule` with support for creating, updating, and managing tags. Implemented DTOs (`CreateTagDto`, `UpdateTagDto`) for validation and structure. Added `TagsService` and `TagsController` with APIs for tags-to-project and tags-to-person associations.
2025-05-15 18:09:12 +02:00
0249d62951 fix: update migrations folder path in database service 2025-05-15 18:08:41 +02:00
9515c32016 docs: add migration system documentation and generated initial migrations
Added `README.md` to document the database migration system, including generation and usage instructions. Updated `generate-migrations.ts` to fix directory structure and streamline commands. Included initial migration files for schema setup using DrizzleORM.
2025-05-15 18:08:30 +02:00
7b6da2767e docs: remove detailed implementation plans for authentication and backend architecture
Deleted extensive implementation plan documents (`AUTH_IMPLEMENTATION_PLAN.md` and `BACKEND_IMPLEMENTATION_PLAN.md`) to streamline documentation efforts and prevent duplication with updated overall project guides.
2025-05-15 17:16:11 +02:00
2035821e89 docs: update README and dependencies, add .gitignore entry
Reorganized README sections, adding project overview and implementation guides for better navigation. Added `.gitignore` entry to exclude `node_modules`. Updated `pnpm-lock.yaml` with new dependencies for authentication, database, and real-time communication modules.
2025-05-15 17:13:05 +02:00
b8fc2219b9 feat: add UI components and assets for frontend layout
Implemented reusable UI components including AlertDialog, Accordion, Breadcrumb, Button, Card, and Calendar. Added essential assets and SVG icons for improved interface design. Integrated a base homepage layout with responsive grid structure.
2025-05-15 17:12:43 +02:00
9f99b80784 feat: implement authentication and database modules with relations and group management
Added new authentication strategies (JWT and GitHub OAuth), guards, and controllers. Implemented database module, schema with relations, and group management features, including CRD operations and person-to-group associations. Integrated validation and CORS configuration.
2025-05-15 17:09:36 +02:00
f6f0888bd7 docs: add comprehensive project documentation files
Added detailed documentation files, including project overview, current status, specifications, implementation guide, and README structure. Organized content to improve navigation and streamline project understanding.
2025-05-15 17:08:53 +02:00
6d6ecdaec1 chore: add IntelliJ IDEA configuration and project files to version control
Included `.idea` configuration files, project module settings, VCS mappings, and default ignore rules for IntelliJ IDEA.
2025-05-15 14:01:01 +02:00
32f82e46f8 docs: add new documentation section and update license details
Introduced a "Documentation" section in the README with links to various detailed implementation plans (e.g., backend architecture and OAuth integration). Updated the license from MIT to AGPLv3 to align with project compliance.
2025-05-15 13:39:36 +02:00
ef934a8599 docs: add implementation plans for authentication and database schema
Documented comprehensive implementation plans for the authentication system and database schema, including architecture, module structure, API integration, security measures, and GDPR compliance details.
2025-05-15 13:10:00 +02:00
9976cfeb7a docs: add license file with AGPLv3 details
Included GNU Affero General Public License (AGPL) version 3 to clarify the project's licensing and compliance requirements.
2025-05-14 13:02:11 +02:00
0cad7728b1 docs: expand README with detailed project overview and setup instructions
Added comprehensive sections to README, including project presentation, features, technical stack, architecture, installation guide, security measures, GDPR compliance details, and performance optimization strategies.
2025-05-14 12:50:55 +02:00
4ccdb7ecaf docs: add SWR and PNPM usage details to documentation
Documented the introduction of the SWR library for efficient data fetching along with key features. Added details about PNPM for workspace management, highlighting its benefits and usage examples. Adjusted section numbering accordingly.
2025-05-14 12:50:40 +02:00
ddb83d838c docs: simplify interaction flow arrows in diagram
Removed detailed descriptions from arrows in interaction flow diagram for a cleaner and more concise representation.
2025-05-14 12:20:03 +02:00
60d510c1e0 docs: update class styling in diagrams for enhanced visual clarity
Adjusted color schemes and stroke styles in architecture and data flow class diagrams to improve readability and modernize styling.
2025-05-14 12:18:58 +02:00
8dc2069963 docs: update API integration and data model details
Updated documentation to reflect changes in the API GitHub integration, revised data model for tags, and introduced GDPR timestamp field. Enhanced diagrams and data schema descriptions for clarity.
2025-05-14 12:11:10 +02:00
51540836ee docs: update class styling in diagrams for improved readability 2025-05-14 11:33:14 +02:00
b0e1c062b4 docs: add system architecture interaction flow diagram 2025-05-14 11:29:17 +02:00
765a5e35ae docs: add simplified data model diagram for non-technical users 2025-05-14 11:28:45 +02:00
8f422e4186 docs: remove project planning and deliverables section from documentation 2025-05-14 11:22:22 +02:00
39ef07c4b4 docs: add functional and technical specifications for group creation app 2025-05-14 11:20:22 +02:00
9487a8a801 Initial commit 2025-05-14 07:34:05 +00:00