Tips On A Migration From Spring Boot / Kotlin To Node For A Web App

Hi all,
I'm helping out on a project where the team is looking to migrate from an existing Spring Boot / Kotlin backend to a Node.js backend. New to a migration of a codebase, and have mostly worked on simpler Node.js applications. I'm working with a team of other engineers, and none have particularly strong organizational/communication strengths, so think I can help us all out by providing some structure to our approach.
Was hoping to get some tips on how we can speed up / de-risk / chunk the migration. Best practices for scale are a little less important in terms of scalability, as the app doesn't have tons of users yet.
Broad details on the rest of the stack: Vue.js for the front end, AWS RDS Postgres for the DB, AWS EKS and Github Actions for the Build.
The web app is not too data intensive, mostly a place where users create profiles, list details about themselves and follow each other (a fairly boring, businessy social media of sorts)
Some details on the architecture below (disclaimer, used AI to help distill):
Current Architecture
A multi-module Kotlin/Spring Boot application with:
- API Module: Controllers, security, and services
- Common Module: Domain models and data access
Key Components
- Authentication: JWT-based with additional custom filters
- Data Access: JPA repositories
- API Design: REST controllers
- Realtime Features: WebSocket for eventual chat based functionality between users
Core Design Patterns
- MVC architecture, although the Views are fairly lightweight
- Repository pattern
- Service layer handles a lot of the business logic
- Filter chain for request processing
- Dependency injection throughout
From reading online / trying to use AI preliminarily, seems like these will be some technical challenges for Migration so far. Would be great to understand others, and some advice on how to try to ensure things go smoothly:
- Replacing Spring Security with Node.js equivalent / Maintaining the JWT authentication flow
- Converting Kotlin coroutines to JavaScript async/await
- Reimplementing transaction boundaries
One basic detail we're unsure about is how we can build/test iteratively to make sure components we migrate would work. Would be great to not have to wait until the whole code base is migrated, while also not investing so much in setting interoperability between Java/Node or figuring out too much about parallel deployments with AWS.
Anything on how we can speed up / de-risk / chunk the migration is helpful!
Thanks in advance for giving a look!
[link] [comments]
Popular Products
-
Gem's Ballet Natural Garnet Gemstone ...
$206.99$143.78 -
Soft Plush Teddy Bear Set for Valenti...
$63.99$43.78 -
Butt Lifting Body Shaper Shorts
$80.99$55.78 -
Slimming Waist Trainer & Thigh Trimmer
$57.99$39.78 -
Realistic Fake Poop Prank Toys
$24.99$16.78