cd ../projects

2024 · Solo · postgraduate thesis, PUC-RS

vizinhelp

My postgraduate thesis: a neighborhood skill-exchange app, taken end to end, from an Angular front end and Node API to Keycloak auth and CI deploying to AWS.

vizinhelp

context

Built as the final project of my full-stack postgraduate program at PUC-RS. The idea: neighbors post things they can teach or help with, other neighbors register interest, and the author gets an email.

It was my chance to own a whole system rather than one layer of it: front end, API, database, authentication, and the pipeline that ships it.

stack

AngularTypeScriptNode.jsPostgreSQLKeycloak

decisions

01

Keycloak for authentication

considered
Hand-rolling login and JWT handling in the API.
why
Identity is a solved problem and an easy one to get wrong. A dedicated identity server handled login and tokens, and the Express API just validated requests.
02

Registering interest doesn't require an account

considered
Requiring login before contacting a neighbor.
why
The first interaction should be cheap. Making that endpoint public removed the biggest drop-off point in the flow.
03

Automated deploys from day one

considered
Building and copying files to the server by hand.
why
A pipeline builds the front end and deploys it to EC2 on every push, with a separate job for the API, so the thesis demo always matched the code.

outcome

  • Shipped over two months, April to May 2024, through 21 pull requests.
  • Node/Express API on PostgreSQL with Jest unit tests on the endpoints.
  • One-command local environment with Docker Compose: Keycloak, Postgres and pgAdmin.