Warbler is a Twitter clone that uses technologies including Flask, PostgreSQL, and SQLAlchemy, on the back-end and Jinja templating, jQuery, and Axios on the front-end.
For this project I have:
- fixed bugs in current user profile model by understanding existing codebase.
- added profile editing functionality
- added feature for a user to like a warble posted by other users and further built this functionality using AJAX request on the front end
- wrote extensive tests ensure functionalities without manually testing on in developing environment.
You can view a deployed version here.
A fully written documentation can be found here
- Clone this repository
- Create a virtual environment
python3 -m venv venvsource venv/bin/activatepip3 install -r requirements.txt
- Create the database
createdb warblerpython3 seed.py
- Start the server
flask run
- Create the database
createdb warbler-test
- Run tests:
- To run all:
python3 -m unittest - To run specific file:
python3 -m unittest test_file_to_run.py
- To run all:
- Flask - Web Development Framework
- Flask-WTForms - integration of Flask and WTForms library, including CSRF protection
- PostgreSQL Database - SQL database management system
- SQLAlchemy - database ORM
- Jinja - templating engine