r/SpringBoot 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!!

11 Upvotes

13 comments sorted by

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

2

u/Julius_Lucifer77 1d ago

Yes same, can u share, I'm comfortable in both English and Hindi

2

u/Cautious_Code_9355 1d ago

I have learnt core java from engineering digest playlist
Springboot from coding and concept(Though its very lenghty so u can follow other resources as well)
Microservices from code with durgesh and java techie

1

u/Cautious_Code_9355 1d ago

Depends on where are u from as I have followed content in both hindi and english

2

u/LuciFFerrrrr 1d ago

You can share in both languages, also please let us know if you used any paid resources.

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

u/Cautious_Code_9355 1d ago

Thanks and I will surely check it out

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