TALKS is a full-stack social discussion platform built using Flask. It allows users to create posts, interact through likes and comments, explore trending hashtags, manage profiles, and verify accounts via email.
- 🔐 User authentication (Register / Login / Logout)
- 📧 Email verification via SMTP
- 📝 Create, edit, and delete posts
- 💬 Comment system with likes
- ❤️ Like / Unlike posts and comments
- #️⃣ Hashtag extraction and hashtag-based post pages
- 🔥 Trending hashtags
- 👤 User profiles with bio and settings
- 🔎 User search
- ⏱️ Human-readable time formatting (time-ago)
- 🧾 SQLite database (no external DB required)
- 🔒 Secure password hashing
- Python 3.14
- Flask 3.x
- SQLite3
- HTML
- CSS
- JavaScript
- Jinja2 Templates
- SMTP (Gmail)
talks/ │ ├── app.py ├── talks.db ├── requirements.txt ├── templates/ │ ├── index.html │ ├── login.html │ ├── register.html │ ├── profile.html │ └── ... ├── static/ │ ├── css/ │ ├── js/ │ └── site-map.xml └── README.md
Install all required libraries using pip:
pip install --upgrade pip pip install -r requirements.txt
Or install manually:
pip install Flask==3.0.3 pip install Flask-Mail==0.9.1 pip install Werkzeug==3.0.3 pip install Jinja2==3.1.4 pip install MarkupSafe==2.1.5 pip install itsdangerous==2.2.0 pip install click==8.1.7
Run the application:
python app.py
Open in browser:
http://127.0.0.1:5000
- Uses SQLite, so no database server setup is required
- SMTP email credentials must be configured inside
app.py - Uses secure password hashing via Werkzeug
- Python 3.14
- Windows 10 / 11
TALKS is suitable for learning, experimentation, and building scalable Flask-based social platforms.