Skip to content

Update docker infra - #6

Closed
teamssUTXO wants to merge 19 commits into
mainfrom
update-docker-infra
Closed

Update docker infra#6
teamssUTXO wants to merge 19 commits into
mainfrom
update-docker-infra

Conversation

@teamssUTXO

@teamssUTXO teamssUTXO commented May 17, 2026

Copy link
Copy Markdown
Member

Summary by CodeRabbit

  • New Features
    • Email-based authentication system replacing username/password login
    • Group management with invitation-based membership joining
    • User profiles with role-based access control
    • Instance branding and customization support
    • Multi-language support (English and French)
    • Redesigned UI with new glass-morphic design system
    • Course viewing and management functionality

Review Change Stack

@coderabbitai

coderabbitai Bot commented May 17, 2026

Copy link
Copy Markdown

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 5fcd0636-5740-4782-a01b-4152300bbf83

📥 Commits

Reviewing files that changed from the base of the PR and between 0718397 and b884d70.

⛔ Files ignored due to path filters (16)
  • apps/backend/target/classes/com/codestar/backend/BackendApplication.class is excluded by !**/*.class
  • apps/backend/target/classes/com/codestar/backend/config/SecurityConfig.class is excluded by !**/*.class
  • apps/backend/target/classes/com/codestar/backend/controller/AuthController.class is excluded by !**/*.class
  • apps/backend/target/classes/com/codestar/backend/controller/CourseController.class is excluded by !**/*.class
  • apps/backend/target/classes/com/codestar/backend/dto/ApiResponseDto.class is excluded by !**/*.class
  • apps/backend/target/classes/com/codestar/backend/dto/LoginRequestDto.class is excluded by !**/*.class
  • apps/backend/target/classes/com/codestar/backend/dto/LoginResponseDto.class is excluded by !**/*.class
  • apps/backend/target/classes/com/codestar/backend/dto/course/CourseBlockDto.class is excluded by !**/*.class
  • apps/backend/target/classes/com/codestar/backend/dto/course/CourseBlockType.class is excluded by !**/*.class
  • apps/backend/target/classes/com/codestar/backend/dto/course/CourseDto.class is excluded by !**/*.class
  • apps/backend/target/classes/com/codestar/backend/dto/course/CoursePageDto.class is excluded by !**/*.class
  • apps/backend/target/classes/com/codestar/backend/model/User.class is excluded by !**/*.class
  • apps/backend/target/classes/com/codestar/backend/repository/IUserRepository.class is excluded by !**/*.class
  • apps/backend/target/classes/com/codestar/backend/utils/JwtUtils.class is excluded by !**/*.class
  • apps/backend/target/test-classes/com/codestar/backend/BackendApplicationTests.class is excluded by !**/*.class
  • apps/frontend/pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (109)
  • .env.example
  • .gitignore
  • .vscode/settings.json
  • apps/backend/.gitignore
  • apps/backend/Dockerfile
  • apps/backend/pom.xml
  • apps/backend/src/main/java/com/codestar/backend/config/SecurityConfig.java
  • apps/backend/src/main/java/com/codestar/backend/config/SuperAdminBootstrap.java
  • apps/backend/src/main/java/com/codestar/backend/controller/AuthController.java
  • apps/backend/src/main/java/com/codestar/backend/controller/CourseController.java
  • apps/backend/src/main/java/com/codestar/backend/controller/GroupController.java
  • apps/backend/src/main/java/com/codestar/backend/controller/InstanceController.java
  • apps/backend/src/main/java/com/codestar/backend/controller/InvitationController.java
  • apps/backend/src/main/java/com/codestar/backend/dto/CreateGroupRequestDto.java
  • apps/backend/src/main/java/com/codestar/backend/dto/CreateInvitationRequestDto.java
  • apps/backend/src/main/java/com/codestar/backend/dto/GroupResponseDto.java
  • apps/backend/src/main/java/com/codestar/backend/dto/GroupSummaryDto.java
  • apps/backend/src/main/java/com/codestar/backend/dto/InstanceBrandingDto.java
  • apps/backend/src/main/java/com/codestar/backend/dto/InvitationResponseDto.java
  • apps/backend/src/main/java/com/codestar/backend/dto/JoinGroupRequestDto.java
  • apps/backend/src/main/java/com/codestar/backend/dto/LoginRequestDto.java
  • apps/backend/src/main/java/com/codestar/backend/dto/MeResponseDto.java
  • apps/backend/src/main/java/com/codestar/backend/dto/RegisterRequestDto.java
  • apps/backend/src/main/java/com/codestar/backend/dto/UpdateGroupRequestDto.java
  • apps/backend/src/main/java/com/codestar/backend/exception/ApiException.java
  • apps/backend/src/main/java/com/codestar/backend/exception/GlobalExceptionHandler.java
  • apps/backend/src/main/java/com/codestar/backend/model/Group.java
  • apps/backend/src/main/java/com/codestar/backend/model/GroupMemberRole.java
  • apps/backend/src/main/java/com/codestar/backend/model/GroupMembership.java
  • apps/backend/src/main/java/com/codestar/backend/model/GroupMembershipId.java
  • apps/backend/src/main/java/com/codestar/backend/model/InvitationCode.java
  • apps/backend/src/main/java/com/codestar/backend/model/Role.java
  • apps/backend/src/main/java/com/codestar/backend/model/User.java
  • apps/backend/src/main/java/com/codestar/backend/repository/IGroupMembershipRepository.java
  • apps/backend/src/main/java/com/codestar/backend/repository/IGroupRepository.java
  • apps/backend/src/main/java/com/codestar/backend/repository/IInvitationCodeRepository.java
  • apps/backend/src/main/java/com/codestar/backend/repository/IUserRepository.java
  • apps/backend/src/main/java/com/codestar/backend/security/ApiSecurityExceptionHandler.java
  • apps/backend/src/main/java/com/codestar/backend/security/AuthenticatedUser.java
  • apps/backend/src/main/java/com/codestar/backend/security/GroupPermissionService.java
  • apps/backend/src/main/java/com/codestar/backend/security/JwtAuthenticationFilter.java
  • apps/backend/src/main/java/com/codestar/backend/security/UserDetailsServiceImpl.java
  • apps/backend/src/main/java/com/codestar/backend/service/GroupService.java
  • apps/backend/src/main/java/com/codestar/backend/service/InstanceBrandingService.java
  • apps/backend/src/main/java/com/codestar/backend/service/InvitationCodeGenerator.java
  • apps/backend/src/main/java/com/codestar/backend/service/InvitationService.java
  • apps/backend/src/main/java/com/codestar/backend/utils/Emails.java
  • apps/backend/src/main/java/com/codestar/backend/utils/JwtUtils.java
  • apps/backend/src/main/resources/application.properties
  • apps/backend/src/main/resources/db/migration/V001.sql
  • apps/backend/src/main/resources/instance.json
  • apps/backend/target/classes/application-dev.properties
  • apps/backend/target/classes/application.properties
  • apps/backend/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
  • apps/backend/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst
  • apps/backend/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst
  • apps/frontend/.env.example
  • apps/frontend/.gitignore
  • apps/frontend/CLAUDE.md
  • apps/frontend/Dockerfile
  • apps/frontend/app/actions/auth.ts
  • apps/frontend/app/actions/courses.ts
  • apps/frontend/app/actions/instance.ts
  • apps/frontend/app/actions/locale.ts
  • apps/frontend/app/courses/[id]/page.tsx
  • apps/frontend/app/error.tsx
  • apps/frontend/app/globals.css
  • apps/frontend/app/layout.tsx
  • apps/frontend/app/login/login-shell.tsx
  • apps/frontend/app/login/page.tsx
  • apps/frontend/app/not-found.tsx
  • apps/frontend/app/page.tsx
  • apps/frontend/app/robots.ts
  • apps/frontend/app/sitemap.ts
  • apps/frontend/components.json
  • apps/frontend/components/auth-provider.tsx
  • apps/frontend/components/brand-mark.tsx
  • apps/frontend/components/branding-provider.tsx
  • apps/frontend/components/locale-switcher.tsx
  • apps/frontend/components/site-footer.tsx
  • apps/frontend/components/top-nav.tsx
  • apps/frontend/components/ui/glass-button.tsx
  • apps/frontend/components/ui/glass-card.tsx
  • apps/frontend/components/ui/glass-chip.tsx
  • apps/frontend/components/ui/glass-input.tsx
  • apps/frontend/components/ui/glass-nav.tsx
  • apps/frontend/components/ui/glass.ts
  • apps/frontend/components/ui/icons.tsx
  • apps/frontend/components/ui/mesh-background.tsx
  • apps/frontend/components/user-menu.tsx
  • apps/frontend/global.d.ts
  • apps/frontend/i18n/request.ts
  • apps/frontend/i18n/routing.ts
  • apps/frontend/lib/api.ts
  • apps/frontend/lib/instance.ts
  • apps/frontend/lib/roles.ts
  • apps/frontend/lib/safe-redirect.ts
  • apps/frontend/lib/site.ts
  • apps/frontend/lib/types.ts
  • apps/frontend/lib/utils.ts
  • apps/frontend/messages/en.json
  • apps/frontend/messages/fr.json
  • apps/frontend/next.config.ts
  • apps/frontend/package.json
  • apps/frontend/proxy.ts
  • config/.gitkeep
  • docker-compose.dev.yml
  • docker-compose.yml
  • hand-off.md

📝 Walkthrough

Walkthrough

Adds JWT auth with email-based login/registration, groups/invitations, instance branding service and endpoint, initial PostgreSQL schema via Flyway, comprehensive frontend integration (auth flows, pages, i18n, Liquid Glass UI), and Docker/compose/env wiring.

Changes

Full-stack v1 foundation

Layer / File(s) Summary
Security, auth, and instance config
apps/backend/src/main/java/com/codestar/backend/config/*, .../security/*, .../utils/JwtUtils.java, .../controller/AuthController.java, .../service/InstanceBrandingService.java, .../controller/InstanceController.java, application.properties, .env*, docker-compose*.yml
Stateless Spring Security with JWT, email-based auth endpoints, CORS, exception handling; instance branding service and API; env/compose wiring.
Groups and invitations
.../model/*Group*, .../model/InvitationCode.java, .../repository/*Group*, .../repository/IInvitationCodeRepository.java, .../service/{GroupService,InvitationService,InvitationCodeGenerator}.java, .../controller/{GroupController,InvitationController}.java, DTOs
Entities, repositories, services, and REST endpoints for groups, memberships, invitations (create/join/list/revoke).
Database schema and migrations
apps/backend/src/main/resources/db/migration/V001.sql, pom.xml
Initial schema for users, groups, memberships, invitations; Flyway enabled with PostgreSQL.
Frontend integration and UI
apps/frontend/**/* (actions, pages, components, i18n, config, proxy)
Next.js actions for auth/instance/courses, login and landing pages, role-aware nav/user menu, i18n (en/fr), robots/sitemap, security headers, middleware proxy, and “Liquid Glass” UI components.

Sequence Diagram(s)

sequenceDiagram
  participant Browser
  participant NextFrontend
  participant BackendAuth as Backend AuthController
  participant DB
  participant JWT as JwtUtils
  Browser->>NextFrontend: Sign in (email/password)
  NextFrontend->>BackendAuth: POST /api/v1/auth/login
  BackendAuth->>DB: findByEmail -> validate password
  BackendAuth->>JWT: generateToken(User)
  JWT-->>BackendAuth: JWT
  BackendAuth-->>NextFrontend: ApiResponse{accessToken}
  NextFrontend-->>Browser: Set httpOnly AUTH_COOKIE_NAME
  Browser->>NextFrontend: Navigate /me
  NextFrontend->>BackendAuth: GET /api/v1/auth/me (Bearer)
  BackendAuth-->>NextFrontend: ApiResponse{MeResponse}
Loading

Estimated code review effort

🎯 5 (Critical) | ⏱️ ~120 minutes

Possibly related PRs

Poem

In glassy light my stars align,
I hop through routes with JWT sign,
Groups invite, the schema sings,
Branding breezes on pastel wings—
With cookies set and roles in tow,
CodeStar blooms—let’s ship this flow! ✨🐇

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch update-docker-infra

@teamssUTXO
teamssUTXO deleted the update-docker-infra branch May 17, 2026 11:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

1 participant