Overview
Built as the final project for NYU's Principles of Database Systems (CS 6083) course, this application recreates the core functionality of Pinterest — a visual bookmarking and image sharing platform. The project demonstrates database design, relational modeling, and full-stack web development skills with a focus on efficient data storage and retrieval using SQL.
Features
- ●User registration and authentication system
- ●Image/pin uploading and management
- ●Board creation for organizing pins into collections
- ●Pinterest-style masonry grid layout for browsing content
- ●Search functionality to discover pins and boards
- ●User profiles with saved pins and created boards
- ●Relational database backend with optimized SQL queries
Database Design
The project follows a normalized relational schema with tables for users, pins, boards, tags, and their relationships. SQL procedures and queries handle CRUD operations, search, and feed generation.
Key Database Concepts
- ●ER diagram and relational schema design
- ●Normalized tables to eliminate redundancy
- ●SQL procedures for data manipulation
- ●Indexed queries for efficient search and retrieval
- ●Many-to-many relationships (pins-to-boards, users-to-boards)
Tech Stack
PythonSQLHTMLCSSJavaScript