[portfolio](https://geonwoo.kim/en/portfolio) › SSAFY

# triplet · travel expense diary

https://geonwoo.kim/en/portfolio/triplet

Period: 2023.09

triplet records foreign-currency cash and card spending together and automatically converts it to won at the current exchange rate. We built it at the Shinhan Bank hackathon during SSAFY. It was my first project with JPA and my first deployment. I handled half of the server and CI/CD setup.

Selected for the Shinhan Bank hackathon from 8 applicants per place

- [github](https://github.com/Triplet-Shinhan/Triplet)

Team: 4 people · Backend 3, frontend 1

Role: Backend API (members, trips, daily, image upload) · Server and CI/CD

Java 11 · Spring Boot 2.7.10 · Spring Data JPA · MySQL 8.0 · AWS S3 · AWS EC2 · Docker · GitHub Actions

- Trip creation with budget and cash on hand
- Currency exchange requests
- Calendar-style expense diary
- Image upload

## Working with a dummy bank API

Problem: Security and technical issues kept a real bank API out of reach, so the hackathon ran on a dummy-data API. We had to work out the transaction logic and exchange rate information ourselves.

Solution: Built additional APIs and dummy data for spending, exchange-rate and other cases. We used that data to reproduce each user scenario while building features.

## Running out of instance resources

Problem: To run at no cost, we put all containers on one AWS Free Tier instance. Usage kept climbing until the instance shut down.

Solution: I considered upgrading to a paid size but configured memory swap on the 1 GB RAM instance instead. As it was my first deployment, finding the cause took a long time.

## Architecture

triplet deployment diagram: React on Netlify, Nginx, Spring Boot and MySQL in Docker on EC2, S3 and GitHub Actions

Deployment to EC2 with GitHub Actions

triplet start screen with an airplane illustration and login form

triplet start screen with an airplane illustration and login form

triplet trip project list

triplet project creation screen for destination and dates

triplet dashboard with calendar and daily spending

triplet day view with expenses and a trip photo


[newjibs · real estate investment simulator](https://geonwoo.kim/en/portfolio/newjibs) · [herdr-cockpit · Herdr layouts and mods for watching orch](https://geonwoo.kim/en/portfolio/herdr-cockpit)
