A full-stack web application where users can share, discover, and manage memes. Built as a first-year HCI project.
- Register new account with validation
- Login with username/email
- Secure logout with confirmation
- Session-based authentication
- Upload memes with image preview
- Add captions, categories, and tags (max 5)
- Set visibility (Public, Followers, Private)
- Delete your own memes
- Dynamic feed showing all public memes
- "Time ago" display (e.g., "2 hours ago")
- Trending tags sidebar
- Suggested creators widget
- View and edit profile (display name, bio)
- See all your uploaded memes in a grid
- Post count automatically updates
- Empty states for future features (Liked, Saved)
- Dark theme with purple accent
- Fully responsive (mobile, tablet, desktop)
- Floating auto-dismiss flash messages
- Confirmation dialogs for destructive actions
- Like button visual feedback
| Category | Technologies |
|---|---|
| Backend | Python, Flask |
| Database | SQLite, SQLAlchemy ORM |
| Frontend | HTML5, CSS3, JavaScript |
| Templating | Jinja2 |
| Authentication | Flask Sessions, Werkzeug |
| File Upload | Secure filename handling |
| Deployment | Render |