Warbler is a concept app created to showcase similar functionality as Twitter. Users can create accounts to use the features of the app. Once registered, users can create messages, follow/unfollow other user, like/unlike messages
The app is served with a Flask backend, Postgres managed by SQL Alchemy as data storage, and Jinja templates for the frontend.
- User account creation: required to be able to use the app. User authentication and password hashing is done using bcrypt
- User follows: users can follow other users so that their posts will show up on their feed.
- Message posts: users can post new messages to show up on their feed.
- Message likes: users can like any message to show in their "liked messages"
- User feed: view of own feed can be filtered based on the followed users, liked messages, or own messages.
- User profile: users can edit or delete their profile only by authenticating with their valid password.
Coming from the project folder, create a virtual environment
$ python -m venv venv
$ source venv/bin/activate
Or, use your existing virtual environment (yourflaskenv)
$ python -m venv venv
$ source activate (yourflaskenv)
Install the dependencies
$ pip install -r requirements.txt
Create database and seed with data
$ createdb warbler
$ python seed.py
Start server
$ flask run