WealthSphere
Group project: financial planning platform
I chose Spring Boot for Spring Security, because for a finance app built-in authentication, CSRF protection and role-based access mattered more than a fast start.
The principle: In a team of mixed experience, pick the framework that enforces the safe conventions instead of relying on everyone to remember them.
Graded A* on the individual project portfolio, my highest undergraduate project mark.
In brief
- Challenge: Putting budgeting, investment tracking and financial learning in one place that someone non-technical could actually use.
- Outcome: Budgeting, portfolio tracking and financial-literacy content behind one React interface, with Spring Boot and secure login underneath.
Context
Most personal-finance tools make you jump between apps — one for budgeting, another for tracking investments, somewhere else to learn what any of it means. The brief was to put it in one place that someone non-technical could actually use.
Constraints
- Financial data needs careful handling: credentials, transaction history, and portfolio values encrypted at rest and in transit.
- A group with mixed experience needed a framework that enforced structure, rather than trusting everyone to follow the same conventions.
- It had to stay simple for the user while doing real work underneath — portfolio calculations and goal tracking.
Decisions
- Chose Spring Boot over Express or Django mainly for Spring Security — authentication, CSRF protection, and role-based access come built in instead of bolted on later. For a finance app that mattered more than how fast we could get started.
- Used Hibernate for data access so the schema stayed consistent and raw SQL injection wasn't something each teammate had to remember to guard against.
- Adopted Scrum with fixed-length sprints and rotating Product Owner / Scrum Master roles, so every member ran the process and quality stayed consistent across a team with varying experience.
Trade-offs
- Spring Boot's convention-heavy approach slowed initial development compared to a lighter framework, but paid back in consistency as the team grew the codebase.
- Hibernate abstracts direct SQL control, which occasionally made complex financial queries harder to optimise — but the security and consistency trade-off was correct for a financial product.
Outcome
Put budgeting, portfolio tracking, and financial-literacy content behind one React interface, with Spring Boot and secure login underneath.
Evidence
- Delivered budgeting, portfolio tracking, and financial-literacy content in one React interface backed by Spring Boot.
- Built in a Scrum team with rotating Product Owner and Scrum Master roles.
- Graded A* on the individual project portfolio, my highest undergraduate project mark.
Stack
- React
- Java
- Spring Boot
- Hibernate
- MySQL
- Jira
- Agile
Architecture
- Client: React UI (React) — Budgeting, investing & literacy in one interface
- Security: Spring Security (Spring Boot) — Auth, CSRF, role-based access
- Application: Planning Services (Java) — Portfolio calculations & goal tracking
- Persistence: Hibernate ORM (Hibernate) — Schema consistency, injection-safe access; MySQL (MySQL) — Encrypted financial data