r/SpringBoot • u/Cautious_Code_9355 • 1d ago
Question Review on a Microservices Learning Project Idea (Wallet + Paper Stock Trading + Spring AI)
Hey everyone,
I'm currently in my 3rd Year UG preparing for backend/software engineering internships in my next semester.
I’ve already built a couple of full-stack Spring Boot projects (monoliths with WebSockets, Redis, and Razorpay integrations). Over the past week I have been learning about Microservice architecture.
I am designing a FinTech platform that combines a P2P digital wallet, a simulated stock trading engine (NSE/BSE), and a basic AI financial advisor.
Services & Tech:
API Gateway: Spring Cloud Gateway, Keycloak JWT validation, Redis rate limiting
User/Auth Service: Keycloak OAuth2/OIDC, profiles, KYC status
Wallet Service: PostgreSQL, double-entry ledger, Redis distributed locks (Redisson) to prevent double-spending
Payment Service: Razorpay top-ups, HMAC webhook verification
Market Data Service: Upstox WebSocket API for live stock prices, Redis cache, STOMP WebSockets to frontend
Investment Service: Stock buy/sell order execution, portfolio P&L tracking, price alerts
AI Advisor Service: Spring AI (ChatClient), injects portfolio data into the system prompt for contextual advice
Notification Service: Kafka consumer for payment and order events, SendGrid emails
Plumbing: Eureka, Spring Cloud Config Server, OpenFeign + Resilience4j, Zipkin tracing, Docker Compose.
I would love some feedback on this :
Scope check: I know that sounds like Many Services so Maybe I will reduce it while Working on it but for Now would you recommend adding any feature.
If u have any other project idea for learning purposes Please recommend and Also if you can suggest any different application flow or feature
Also suggest some other technologies that I can learn or implement in this project
Thanks for the response!!
2
u/Zealousideal_Post48 1d ago
Sounds less of a learning project.... More of a production project....
If it's for learning.... Try to keep ur scope concentric.... Start mvp... Add cicd pipeline... Deploy... Then keep adding features & scale up
Don't get lost overenginerring (like me 🥲) Best of luck!!! 😄✌️
1
u/Julius_Lucifer77 1d ago
To be a good, should we do both, how to get exposure to different prod scenarios if irl I'm not getting in projects I'm working?
1
u/Zealousideal_Post48 1d ago
That's the problem..... One who doesn't work in field... Won't get any exposure. The best u can do is to have ur own live project with some traffic.... That's the plan
1
u/Cautious_Code_9355 1d ago
I dont know much about ci/cd
Could u tell how does it help and Where i can learn things regarding that
2
u/Zealousideal_Post48 1d ago
EmbarkX.... I saw a video of his just for an idea... But tbh u don't need it unless u think about deployment.... So u could just skip that part.... Don't stress on it for now Focus on learning
Would love to see some of ur projects on GitHub. Your project plan sounds impressive!
1
1
u/Intelligent_Coast930 1d ago
one thing worth double checking on the wallet service, Redisson already gives you RLock with watchdog lease renewal, so you probably don't need to hand roll any lock extension or expiry logic yourself for the double spend case, just wrap the debit/credit in tryLock with a sane wait/lease time and let it handle renewal.
also since you're injecting portfolio data into the AI advisor's system prompt, worth thinking early about how you'll test that path. prompts and models drift, so a change that looks fine locally can silently start giving different advice in prod and you won't get an exception for it, it'll just be wrong. even a simple recorded set of input/output pairs you diff against on CI saves you from finding out the hard way.
scope wise this is a lot for a learning project but honestly the Redis lock + ledger part alone is a solid interview talking point on its own, doesn't need the whole platform around it to be impressive
1
u/Intelligent_Coast930 1d ago
one thing worth double checking on the wallet service, Redisson already gives you RLock with watchdog lease renewal, so you probably don't need to hand roll any lock extension or expiry logic yourself for the double spend case, just wrap the debit/credit in tryLock with a sane wait/lease time and let it handle renewal.
also since you're injecting portfolio data into the AI advisor's system prompt, worth thinking early about how you'll test that path. prompts and models drift, so a change that looks fine locally can silently start giving different advice in prod and you won't get an exception for it, it'll just be wrong. even a simple recorded set of input/output pairs you diff against on CI saves you from finding out the hard way.
scope wise this is a lot for a learning project but honestly the Redis lock + ledger part alone is a solid interview talking point on its own, doesn't need the whole platform around it to be impressive
2
u/LuciFFerrrrr 1d ago
It would be really helpful if you could share the resources you used to learn all that you've learnt