Back to projects

Project Case Study

PhotoShare

A full-stack photo-sharing app built with Flask, now led by a richer home page that highlights gallery activity, tags, fresh uploads, albums, search, friends, likes, comments, leaderboards, and recommendations.

Built with
  • Python
  • Flask
  • Jinja
  • SQL
  • Flask-MySQL
  • PyMySQL
  • SQLite

Interface Tour

Selected Screens

A compact look through the most useful flows: browsing, search, photo details, profile context, owner management, and the redesigned discovery-focused home page.

Product Areas

What It Covers

01

Albums and Uploads

Account flows, album creation, photo upload management, captions, and tag assignment.

02

Discovery

Public browsing, tag search, comment search, popular tags, and contributor rankings.

03

Social Layer

Friends, friend recommendations, likes, comments, and profile-centered browsing.

04

Recommendations

Photo suggestions built around tag overlap and user activity patterns.

Build Notes

Implementation Details

The project pairs a Flask application layer with relational data modeling and reusable template components for common photo, album, and profile views.

  • Built registration, login, authenticated profile pages, and protected owner actions.
  • Modeled albums, photos, tags, comments, likes, friendships, and recommendation queries.
  • Created reusable Jinja layouts for photo cards, detail pages, search results, and dashboards.
  • Added SQLite demo mode so the app can run locally without a separate MySQL setup.
  • Organized the UI around responsive pages that work across public and signed-in states.