View it here.
An article sharing platform similar to Medium.
The frontend is developed in React, with the backend developed in NestJS plus a PostgreSQL database. Other tools involved: React-Query, Zustand, TypeORM.
The project is deployed as a Kubernetes Cluster on Google Kubernetes Engine. There is a Nginx Ingress Controller for routing and seperate Nginx server for serving static files. The cluster is built from Docker containers.
It is part of a take home real world project - an initiative that goes above and beyond simple todo lists. This was a great challenge and allowed me to explore new relational features like following, liking, and commenting.
Most people decide to only do a frontend or backend implementation, but I decided to both.
A good opportunity to learn new tools and frameworks like NestJS, React-Query and Zustand.
- JWT authentication with cookies for traditional sign on
- OAuth integration with Google for quick login/register
- CRU* users (register up & settings page - no deleting)
- CR*D Articles
- CR** Comments on articles (no updating)
- List articles
- Favorite articles
- Filter articles by tag
- Filter articles by feed (shows followed users articles)
- Follow other users
- Caching to reduce latency and improve user experience
- Server-side article pagination
- File upload to S3 Bucket for profile pictures
- Total user follower list with unfollowing functionality (like Instagram)
- Delete comments on logged in user basis
- Tinker with styling to sooth perfectionism
- Full text search