Shaaf Kashan

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

Links