Instagram Clone is a full-stack social media application inspired by Instagram, extended from the University of Michigan EECS 485 course project. The project demonstrates end-to-end web application development with React, Flask, SQLite, REST APIs, user authentication, relational database design, image uploads, likes, comments, following, and infinite scrolling.
The repository has been consolidated from the earlier static, server-side, and client-side course iterations into one application. Runtime dependencies, databases, uploads, test recordings, deployment artefacts, and duplicate source trees are intentionally excluded.
Requirements: Python 3.11+, Node.js 20+, npm, and sqlite3.
./bin/insta485install
./bin/insta485db create
./bin/insta485runOpen http://127.0.0.1:8000. The seed database includes sample accounts; the
credentials are defined in sql/data.sql.
insta485run starts Flask and watches the React source. To make a production
bundle instead, run npm run build. Reset demo data at any point with:
./bin/insta485db resetinsta485/ Flask routes, templates, REST API, React source, styles
sql/ schema plus small, versioned seed dataset
bin/ local install, run, and database helpers
var/ generated database and user uploads (ignored by Git)
Run npm run build to create a production frontend bundle. Set
INSTACLONE_SECRET_KEY to a unique secret before running the app outside local
development. The built frontend bundle, SQLite database, and uploaded images are
local build/runtime artefacts and are not committed.