InstaSocial: Photo-Sharing Social Platform

InstaSocial (WASA Photo) is a full-stack social photo-sharing platform offering an Instagram-like experience. Users can upload photos, browse a community feed, interact via likes and comments, and manage their profile — all served through a responsive Vue.js SPA backed by a Go REST API.

Features

  • Photo upload: drag-and-drop upload with automatic thumbnail generation.
  • Personalised feed: curated stream of photos from followed users, sorted by recency.
  • Likes & comments: real-time interaction counters; threaded comment display.
  • User profiles: bio, follower/following counts, photo grid view.
  • Search: find users by username.
  • Authentication: Bearer token authentication; sessions managed client-side.

Architecture

  • Frontend: Vue.js SPA with Axios for API calls; responsive CSS layout.
  • Backend: Go REST API following the OpenAPI specification — clean, versioned endpoints.
  • API contract: OpenAPI 3.0 spec defines the full interface, enabling frontend/backend to evolve independently.
  • Containerisation: Docker Compose orchestrates frontend, API, and storage containers for reproducible local and production deployment.

Technology

Vue.js, Go (Golang), Axios, Docker, Docker Compose, OpenAPI 3.0, HTML/CSS.