191 Commits

Author SHA1 Message Date
9097a3e9b5 Merge pull request 'Fix on linting' (#1) from dev into prod
Some checks failed
Lint / lint (push) Has been cancelled
Deploy to Production / deploy (push) Successful in 6m37s
Reviewed-on: #1
2026-01-14 18:12:57 +01:00
Mathis HERRIOT
24eb99093c feat(docs): reorganize imports and improve formatting for readability
Some checks failed
Lint / lint (pull_request) Has been cancelled
Lint / lint (push) Successful in 9m36s
Streamline import orders in MDX components and layout files. Adjust text formatting in the homepage and configuration files for consistent structure and enhanced clarity. Add new accessibility-focused linting rules in `biome.json`.
2026-01-14 18:04:31 +01:00
Mathis HERRIOT
75ac95cadb feat(ci): enhance deploy workflow with separate lint and build steps
Split linting and building into distinct steps for backend, frontend, and documentation in `deploy.yml`.
2026-01-14 18:02:45 +01:00
Mathis HERRIOT
35abd0496e refactor: apply consistent formatting to improve code quality
Some checks failed
Deploy to Production / deploy (push) Failing after 2m20s
Lint / lint (push) Successful in 9m37s
Ensure uniform code formatting across components by aligning with the established code style. Adjust imports, indentation, and spacing to enhance readability and maintainability.
2026-01-14 17:26:58 +01:00
Mathis HERRIOT
03e5915fcc feat(deps): update and expand development dependencies
Some checks failed
Backend Tests / test (push) Successful in 9m42s
Lint / lint (push) Failing after 5m2s
Update various `@types` packages, NestJS, TypeScript, and Jest dependencies. Add new packages such as AWS SDK clients and utility libraries to enhance testing, type definitions, and AWS integrations.
2026-01-14 16:54:17 +01:00
Mathis HERRIOT
77ac960411 feat(ci): add GitHub Actions workflow for production deployment
Some checks failed
Backend Tests / test (push) Failing after 4m47s
Lint / lint (push) Failing after 4m48s
Introduce `deploy.yml` to automate deployment to production on `prod` branch push. Includes setup for Node.js, pnpm caching, linting, building, and Docker Compose deployment. Update `docker-compose.prod.yml` to use environment variables for enhanced configurability.
2026-01-14 16:44:03 +01:00
Mathis HERRIOT
8425ffe4fc refactor!: remove pnpm-lock.yaml file from the repository to eliminate redundant dependency tracking and streamline package management. 2026-01-14 16:38:26 +01:00
Mathis HERRIOT
b81835661c feat(docker): add production-ready docker-compose configuration with health checks
Introduce a new `docker-compose.prod.yml` file tailored for production setups. Add health checks for PostgreSQL, Redis, and ClamAV services. Update existing `docker-compose.yml` with health checks, environment refinements, service dependencies, and production-specific optimizations.
2026-01-14 16:38:07 +01:00
Mathis HERRIOT
fbc231dc9a refactor!: remove unused resizable components and enhance efficiency in critical areas
Remove outdated `ResizablePanelGroup`, `ResizablePanel`, and `ResizableHandle` components from the codebase. Optimize API error handling with anti-spam protection for repetitive errors. Update Dockerfile for streamlined builds, improve sitemap generation in `app`, and refactor lazy loading using `React.Suspense`. Refine services to support enhanced query parameters like `author`.
2026-01-14 16:37:55 +01:00
Mathis HERRIOT
37a23390d5 refactor: enhance module exports and imports across services
Refactor multiple modules to improve dependency management by adding missing imports (e.g., `AuthModule`, `CryptoModule`) and ensuring essential services and repositories are exported. Update Dockerfile for better build and runtime efficiency, improve CORS handling, and enhance validation with updates to DTOs. Include package.json refinements for dependency organization.
2026-01-14 16:36:59 +01:00
Mathis HERRIOT
bd9dd140ab **feat(docker): add docker-compose for multi-service setup**
Introduce `docker-compose.yml` to orchestrate services for local development. Include configurations for PostgreSQL, Redis, MinIO (S3), Mailpit, backend, and frontend. Simplify setup with predefined environment variables, volumes, and dependencies, ensuring streamlined service management and integration.
2026-01-14 13:53:02 +01:00
Mathis HERRIOT
5b6e0143b6 feat: add comprehensive database migration snapshot
Introduce a detailed database schema migration snapshot, including tables such as `users`, `categories`, `contents`, `tags`, `favorites`, `roles`, `permissions`, and more. Adds relationships, indexes, unique constraints, and primary keys to ensure optimal structure and query efficiency.
2026-01-14 13:52:53 +01:00
Mathis HERRIOT
214bf077e5 feat: add axios and related dependencies to pnpm lockfile
Includes `axios@1.13.2` and its dependencies (`follow-redirects` and `proxy-from-env`) for enhanced HTTP request handling.
2026-01-14 13:52:43 +01:00
Mathis HERRIOT
bb9ae058db refactor(docker): update Dockerfile for optimized multi-stage builds and dependency management
Switched to pnpm-based alpine image, added dependency and build stages, and improved caching. Streamlined Next.js production setup with reduced image size and improved runtime performance.
2026-01-14 13:52:20 +01:00
Mathis HERRIOT
0b07320974 feat: introduce new app routes with modular structure and enhanced features
Added modular app routes including `login`, `dashboard`, `categories`, `trends`, and `upload`. Introduced reusable components such as `ContentList`, `ContentSkeleton`, and `AppSidebar` for improved UI consistency. Enhanced authentication with `AuthProvider` and implemented lazy loading, dynamic layouts, and infinite scrolling for better performance.
2026-01-14 13:52:08 +01:00
Mathis HERRIOT
0c045e8d3c refactor: remove unused tests, mocks, and outdated e2e configurations
Deleted unused e2e tests, mocks (`cuid2`, `jose`, `ml-kem`, `sha3`), and their associated jest configurations. Simplified services by ensuring proper dependency imports, resolving circular references, and improving TypeScript type usage for enhanced maintainability and testability. Upgraded Dockerfile base image to match new development standards.
2026-01-14 13:51:32 +01:00
Mathis HERRIOT
8ffeaeba05 feat: update .env.example with refined defaults for services
Revise `.env.example` file to include updated configurations for database, Redis, S3 storage, and mail services. Add missing variables for enhanced security and better local environment setup.
2026-01-14 13:50:43 +01:00
Mathis HERRIOT
9e37272bff feat: add initial database schema with migrations
Introduce foundational database schema with tables for `users`, `categories`, `contents`, `tags`, and `favorites`. Add foreign key relationships, constraints, and indexes for efficient querying.
2026-01-14 13:04:27 +01:00
Mathis HERRIOT
7cb5ff487d feat: add components configuration file for UI setup
Some checks failed
Backend Tests / test (push) Successful in 9m41s
Lint / lint (push) Failing after 4m59s
Introduce `components.json` to define UI schema, aliases, styling preferences, and Tailwind integration.
2026-01-14 12:13:12 +01:00
Mathis HERRIOT
0cef694f2b feat: add useIsMobile custom hook for responsive breakpoint detection
Introduce a reusable React hook to determine mobile viewport state based on a defined breakpoint, enhancing responsiveness and code modularity.
2026-01-14 12:12:58 +01:00
Mathis HERRIOT
5c4badb837 feat: add utility function for class merging with Tailwind and clsx
Introduce `cn` utility function to simplify class name manipulation by combining `clsx` and `tailwind-merge`.
2026-01-14 12:12:48 +01:00
Mathis HERRIOT
b53c51b825 feat: enhance global styles with custom properties and dark mode support
Refactored `globals.css` to include detailed custom property definitions for colors, fonts, shadows, and spacing. Introduced `oklch` color format for consistent theming. Added `@custom-variant` for dark mode styles and extended base layer styling with Tailwind utilities for improved maintainability.
2026-01-14 12:12:27 +01:00
Mathis HERRIOT
76de69fc64 feat: add new dependencies and update pnpm workspace configuration
Added several dependencies, including Radix UI components, `react-hook-form`, `tailwind-merge`, `zod`, and others to enhance frontend functionality. Updated `pnpm-workspace.yaml` and lockfile to reflect changes for better dependency management.
2026-01-14 12:12:15 +01:00
Mathis HERRIOT
ec8eb8d43a feat: add reusable UI components for enhanced consistency
Introduce reusable UI components including `Button`, `Card`, `Accordion`, `DropdownMenu`, `HoverCard`, `Drawer`, `Avatar`, and others. Standardize styling and functionality across features to improve code maintainability and user experience.
2026-01-14 12:12:00 +01:00
Mathis HERRIOT
514bd354bf feat: add modular services and repositories for improved code organization
Introduce repository pattern across multiple services, including `favorites`, `tags`, `sessions`, `reports`, `auth`, and more. Decouple crypto functionalities into modular services like `HashingService`, `JwtService`, and `EncryptionService`. Improve testability and maintainability by simplifying dependencies and consolidating utility logic.
2026-01-14 12:11:39 +01:00
Mathis HERRIOT
9c45bf11e4 chore: fix inconsistent indentation and formatting in Next.js config
Some checks failed
Backend Tests / test (push) Failing after 5m0s
Lint / lint (push) Failing after 4m56s
2026-01-10 16:34:00 +01:00
Mathis HERRIOT
5a22ad7480 feat: add logging and caching enhancements across core services
Integrate `Logger` for consistent logging in services like `reports`, `categories`, `users`, `contents`, and more. Introduce caching capabilities with `CacheInterceptor` and manual cache clearing logic for categories, users, and contents. Add request throttling to critical auth endpoints for enhanced rate limiting.
2026-01-10 16:31:06 +01:00
Mathis HERRIOT
9654553940 feat: add PGP encryption utilities with automatic decryption support
Some checks failed
Lint / lint (push) Has been cancelled
Backend Tests / test (push) Successful in 9m39s
Introduce modular PGP encryption utilities (`pgpEncrypted` type) for seamless handling of sensitive data in Postgres. Added utility `withAutomaticPgpDecrypt` to enable automatic decryption for selective columns, simplifying schema definitions.
2026-01-08 17:15:34 +01:00
Mathis HERRIOT
a5a8626f5d chore: add TODO comment in contents service test regarding TS2774 warning 2026-01-08 17:15:25 +01:00
Mathis HERRIOT
64adc80062 refactor: remove PGP encryption usage for user email and secrets
Eliminated PGP encryption for `email` and `twoFactorSecret` fields in `users` schema to simplify handling of sensitive data.
Since abstraction in schemas.
2026-01-08 17:15:14 +01:00
Mathis HERRIOT
702868dec2 feat: add PGP encryption utilities and apply automatic decryption to user schema
Introduced centralized PGP encryption utilities and updated the `users` schema to enable automatic decryption for sensitive fields like `email` and `twoFactorSecret`.
2026-01-08 17:13:43 +01:00
Mathis HERRIOT
399bdab86c test: add comprehensive unit tests for core services
Added unit tests for the `api-keys`, `auth`, `categories`, `contents`, `favorites`, `media`, and `purge` services to improve test coverage and ensure core functionality integrity.
2026-01-08 16:22:23 +01:00
Mathis HERRIOT
cc2823db7d refactor: organize imports and enhance formatting across backend files
Some checks failed
Backend Tests / test (push) Successful in 9m38s
Lint / lint (push) Failing after 4m59s
Optimized import order, applied consistent formatting, and improved readability in various modules, including `contents`, `media`, and `auth` services.
2026-01-08 15:33:55 +01:00
Mathis HERRIOT
6254c136d1 feat: enable standalone output mode in Next.js configuration 2026-01-08 15:32:55 +01:00
Mathis HERRIOT
3828f170e2 feat: add Dockerfile for frontend service
Introduce a multi-stage Dockerfile for the frontend service to enable efficient builds and an optimized runtime using Node.js 22.
2026-01-08 15:32:46 +01:00
Mathis HERRIOT
ec771eb074 feat: revamp documentation pages with new components, layout, and visuals
Introduced enhanced MDX components (cards, callouts, tabs, accordions, steps) for better content presentation. Redesigned the homepage with new sections highlighting features, tech stack, and quick access links. Updated the global CSS to use Catppuccin theme. Added branded visuals like the Memegoat logo and SVG. Improved metadata, localization (French), and search functionality.
2026-01-08 15:32:13 +01:00
Mathis HERRIOT
77263aead9 chore: update .env.example with media size limits configuration 2026-01-08 15:31:54 +01:00
Mathis HERRIOT
ab74dc3b30 chore: update pnpm-lock.yaml with new dependency resolutions
Added new dependencies for validation, caching, security, and media processing. Updated existing resolutions to synchronize with the package changes and introduced support for new modules like @nestjs/cache-manager and @nestjs/throttler.
2026-01-08 15:31:45 +01:00
Mathis HERRIOT
acd53eff6a docs: add secure media processing details to README
Include information about antivirus scanning (ClamAV) and high-performance transcoding (WebP, WebM, AVIF, AV1) under the media processing section.
2026-01-08 15:31:29 +01:00
Mathis HERRIOT
91e23c2c02 chore: add .dockerignore to exclude unnecessary files from Docker context 2026-01-08 15:30:56 +01:00
Mathis HERRIOT
f508e8ee6d refactor: rename package scope to @memegoat in documentation/package.json 2026-01-08 15:30:39 +01:00
Mathis HERRIOT
3c02bd6023 feat: configure standalone output mode in next.js 2026-01-08 15:30:29 +01:00
Mathis HERRIOT
6e823743fc feat: add Dockerfile for documentation service
Introduce a multi-stage Dockerfile for the documentation service to enable efficient builds and optimized runtime with Node.js 22.
2026-01-08 15:30:20 +01:00
Mathis HERRIOT
99a350aa05 docs: overhaul and expand technical documentation
Revamped the documentation structure and content to enhance usability and organization. Added detailed sections on architecture, pipeline, security, API reference, deployment steps, compliance, and supported modules. Introduced new visuals like cards, accordions, and callouts for improved readability and navigation.
2026-01-08 15:29:56 +01:00
Mathis HERRIOT
8b51b84d44 feat: add Dockerfile for backend service
Introduced a multi-stage Dockerfile for the backend, enabling streamlined builds and optimized runtime image with Node.js 22.
2026-01-08 15:29:37 +01:00
Mathis HERRIOT
0af6f6b52a feat: update dependencies and scripts in package.json
Added new dependencies for caching, security, media processing, and validation. Updated scripts and included the `dist` folder for build output. Refined devDependencies to support new features and typings.
2026-01-08 15:28:38 +01:00
Mathis HERRIOT
382e39ebd0 feat: update biome.json with JavaScript parser configuration and linter rule adjustments
Added support for `unsafeParameterDecoratorsEnabled` in JavaScript parser configuration. Modified linter rules to include a `correctness` section disabling `useHookAtTopLevel`. Simplified domain-specific linter configurations.
2026-01-08 15:28:28 +01:00
Mathis HERRIOT
65b7cba6b1 feat: enhance bootstrap with Sentry, security middleware, and global configurations
Integrated Sentry for error monitoring and profiling. Added security improvements using Helmet and CORS. Implemented global validation pipes and exception filters for consistent request handling. Dynamically configured app PORT and logging for startup information.
2026-01-08 15:28:16 +01:00
Mathis HERRIOT
f7d85108e1 feat: add HealthController with database connection check
Introduced a HealthController to verify application status. Includes an endpoint to check database connectivity and returns health status with a timestamp.
2026-01-08 15:27:48 +01:00
Mathis HERRIOT
d5775a821e feat: integrate multiple modules, caching, throttling, and scheduling into AppModule
Enhanced AppModule by adding support for caching (Redis), scheduling, throttling, and multiple feature modules including AuthModule, CategoriesModule, ContentsModule, FavoritesModule, ReportsModule, TagsModule, and more. Improved environment validation and health check controller setup.
2026-01-08 15:27:36 +01:00