feat: Complete migration from Node.js/Express to Angular/Spring Boot#1
Open
devin-ai-integration[bot] wants to merge 2 commits intomasterfrom
Open
feat: Complete migration from Node.js/Express to Angular/Spring Boot#1devin-ai-integration[bot] wants to merge 2 commits intomasterfrom
devin-ai-integration[bot] wants to merge 2 commits intomasterfrom
Conversation
Phase 1-4: Spring Boot Backend - Set up Spring Boot 3.2.0 with Spring Web MVC, Spring Data JPA, Spring Security - Created JPA entities: User, Article, Comment, Tag with proper relationships - Implemented Spring Data JPA repositories with custom queries - Configured JWT authentication with Spring Security - Implemented centralized error handling with @ControllerAdvice - Created REST controllers matching Express API contracts - Implemented all business logic services (Auth, Article, Profile, Tag) Phase 5: Angular Frontend - Set up Angular 20 project with routing - Created Angular services: AuthService, ArticleService, ProfileService, TagService - Implemented HTTP interceptor for JWT authentication - Created components: Login, Register, Home, ArticleList, ArticleDetail, ArticleEditor, Profile, Settings - Configured routing with authentication guards Phase 6: Testing & Deployment - Added JUnit tests for AuthService and ArticleService (13 tests passing) - Created Dockerfiles for both backend and frontend - Added docker-compose.yml for orchestration - Added nginx.conf for frontend serving and API proxying Co-Authored-By: Arthur Poon <arthur.poon@windsurf.com>
Author
🤖 Devin AI EngineerI'll be helping with this pull request! Here's what you should know: ✅ I will automatically:
Note: I can only respond to comments from users who have write access to this repository. ⚙️ Control Options:
|
Owner
|
add some additional tests to verify the middleware was migrated correctly |
- Add SecurityMiddlewareIntegrationTest with 19 tests covering: - JWT authentication (valid/invalid/missing token, Token vs Bearer prefix) - Public vs protected endpoint access - Error handling (401, 403, 404, 422 responses) - CORS headers - Fix SecurityConfig to return 401 with correct error message for auth failures - Fix AuthServiceTest and ArticleServiceTest to use constructors instead of builders All 32 tests now pass. Co-Authored-By: Arthur Poon <arthur.poon@windsurf.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
feat: Complete migration from Node.js/Express to Angular/Spring Boot
Summary
This PR implements a complete technology stack migration from Node.js/Express to Spring Boot (backend) and Angular (frontend) for the RealWorld API application. The migration preserves the existing API contracts while replacing the underlying technology.
Backend (Spring Boot 3.2.0):
Frontend (Angular 20):
Deployment:
Updates since last revision
Added comprehensive middleware integration tests to verify the Spring Security migration:
{"status": "error", "message": "missing authorization credentials"}matching the original Express behaviorTotal tests: 32 (up from 13)
Review & Testing Checklist for Human
Recommended test plan:
cd backend && mvn spring-boot:runhttp://localhost:3000/apicd frontend && npm install && npm startNotes
Link to Devin run: https://app.devin.ai/sessions/bd1ec1069b4d48d8bf7c797871771f80
Requested by: Arthur Poon (arthur.poon@cognition.ai) / @arthurkkp-cog