FileShare
A secure, anonymous file-sharing web application.
Java
Spring Boot
React
TypeScript
PostgreSQL
Docker
AWS EC2
Cloudflare R2
Key Engineering Decisions:
-
Cost-Effective Storage: Chose Cloudflare R2 for its S3-compatible API and zero-cost data egress.
This was the key financial decision making a public file download service sustainable, as standard
S3 egress fees would be really expensive.
-
Production-Grade Security: Implemented Caddy as a reverse proxy on AWS EC2 to automatically provision a
Let's Encrypt SSL certificate. This cleanly solves the browser's mixed-content security
policy (https frontend talking to http backend) and offloads all TLS complexity from the application code.
-
Guaranteed File Deletion: Leveraged PostgreSQL’s native `TIMESTAMPTZ` data type
for the `expires_at` column, enabling a time zone-agnostic `@Scheduled` cleanup job in
Spring Boot that enforces the 24-hour data deletion guarantee with absolute reliability.
Movies PWA
A responsive and performant movie discovery Progressive Web App.
Note: This project was built two years ago to demonstrate frontend fundamentals
and has been running continuously as deployed.
Next.js 14
React
SCSS Modules
Vitest
Cypress
TMDB API
Key Frontend Decisions:
-
Optimized Performance: Built with Next.js for its server-side rendering (SSR) capabilities, ensuring
fast initial page loads and excellent SEO performance, as verified by Lighthouse scores.
-
Robust Testing Strategy: Implemented a comprehensive testing suite, including unit tests with Vitest
and React Testing Library for individual components, and end-to-end (E2E) tests with Cypress to validate
critical user flows like searching and navigating to a movie detail page.
-
Maintainable Styling: Utilized SCSS Modules to scope all CSS classes to their respective components.
This prevents global stylesheet conflicts and makes the UI components truly modular and reusable.
BankApp (Academic)
A desktop WPF application demonstrating core Object-Oriented Programming principles.
C#
.NET Framework
WPF
ADO.NET
SQL Server
Key OOP & Design Decisions:
-
3-Tier Architecture: Strictly separated the application into three distinct layers (DAL, BIZ, UI) to enforce
separation of concerns. This ensures that business logic is completely independent of the database and the
user interface.
-
Secure Authentication: Implemented secure password handling using the `Rfc2898DeriveBytes` (PBDFK2)
algorithm. A unique salt is generated for each user, hashed with their password, and stored.
-
Role-Based Access Control (RBAC): All permission checks (e.g., transaction approvals requiring a "Manager")
are enforced in the Business Logic Layer (BIZ), not the UI. This server-side validation is a critical security
practice that prevents unauthorized actions.