A less dystopian version of another popular social media app.
Tweet your thoughts, chirp your feelings, and warble your heart out.
View Demo
·
Report Bug
·
Request Feature
Table of Contents
Warbler is a Twitter clone for people who like birds. It was originally built in 2023 as a project for the Rithm School curriculum. It's a full-stack web application built with Flask, Python, Jinja, and PostgreSQL. The demo is hosted on Render and the database is hosted on ElephantSQL.
This project is a great way to learn more about:
- Encryption and password hashing
- Database design and modeling
- User authentication and authorization
- User sessions and cookies
- RESTful routing
I'm excited to keep building on this project and add more features. Feel free to contribute!
You can log into the demo site with the following credentials:
- Username:
guest
- Password:
password
- Users can create an account and log in
- Users can edit their profile (including changing their profile picture)
- Users can write posts (called "warbles")
- Users can like warbles
- Users can follow other users
- Users can see the warbles of users they follow (called "following")
- Users can see who is following them
- Users can see their own warbles and their following warbles on their homepage
- Users can delete their own warbles
- Users can like and unlike warbles
- Users can see a list of all warblers
- Users can see a list of warbles that they have liked
- Users can see a list of warbles that they have posted
This project was built in 2023 using the following technologies.
See requirements.txt for a full list of dependencies.
To get a local copy up and running follow these simple steps.
-
Clone this repository (only this branch)
git clone
-
Create a virtual environment
python3 -m venv venv source venv/bin/activate
-
Install dependencies
pip install -r requirements.txt
-
Create database
createdb warbler
-
Seed database
python seed.py
-
Run the app
flask run
-
Go to localhost:5000 to view the app
- Fix logout bug
- Update images in app
- Add toggle for all warbles vs. following warbles
- Migrate frontend to React
This is a great project for learning Flask, SQLAlchemy, and WTForms. Feel free to fork this repo and make it your own. If you have any questions or suggestions, please feel free to contact me!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Distributed under the MIT License. See LICENSE for more information.
Your Name - @SeanOliver - [email protected]
Project Link: https://github.com/seanoliver/warbler
Live Demo: https://warbler.seanoliver.dev/
This was a project I completed as part of the Rithm School curriculum. I would like to thank the entire Rithm team for their amazing curriculum and support.