5/2026
Full-Stack

InstaPet

A social network for pet lovers to share photos, follow other owners, and discover animals through hashtags.

Tech Stack

Full-StackPythonFastAPIJavaScriptWeb ComponentsSQLiteDocker
⚠️ No live demo is available — the app requires Docker to run. Clone the repository and run `make start` to try it locally.

Overview

InstaPet is a social network built for pet lovers, where users can share photos of their animals, follow other owners, and discover new pets through hashtags. It was the final project for Project I — Web Programming at ETIC_Algarve (2025/26), scoring 19/20.

The platform covers the full social experience: a chronological feed with filtering, posts with captions and hashtags, likes, saves, comments, and a follow system with optimistic UI updates. Real-time notifications keep users up to date on likes, comments, and new followers.

Built with a FastAPI backend and a vanilla JavaScript Web Components frontend, the whole app is containerised with Docker and Docker Compose, served through nginx, and secured with JWT authentication and bcrypt password hashing.

Key Responsibilities

  • Designed and developed the full platform, from database models to frontend components
  • Built the FastAPI backend with SQLModel, organised into auth, routers, schemas, and services
  • Implemented JWT and bcrypt-based authentication and security hardening
  • Developed the frontend with vanilla JavaScript Web Components, without any framework
  • Containerised the full stack with Docker, Docker Compose, and nginx
  • Handled Git workflow, integration testing, and final debugging independently

Key Features

  • Chronological feed with filtering options
  • Post creation with captions, hashtags, and required image uploads (JPEG, PNG, GIF, WebP up to 10MB)
  • Like, save, and comment interactions
  • Follow system with optimistic UI updates and follower/following counts
  • Real-time notifications for likes, comments, and follows
  • Hashtag search and trending tag filtering
  • Terms and FAQ pages in Portuguese
InstaPet 1
InstaPet 2
InstaPet 3
InstaPet 4