Experience social networking. Bringing all the warbles and interactions together in one seamless platform.
View Demo
username: guest | demo password: password
Disclaimer: it might take 10-30 sec for the page to fully renderTable of Contents
This project offered the opportunity to work on an existing codebase, address security bugs, write additional tests, and extend the app with new features.
Application was built with Flask in the backend, Jinja for HTML templating, and SQLAlchemy and PostgreSQL for database management. Frontend and backend hosted on Render and database hosted on ElephantSQL
- Authentication and authorization with Flask session and g object
- Bcrypt password hashing
- Protection against CSRF attacks via WTForms and CSRF tokens
- Designing RESTful API routing
- Implementation of SQLAlchemy ORMs to manage complex database schemas and relationships
- Form validation and error handling with WTForms
- Unit and integration testing
To get a local copy up and running follow these steps.
- Clone repository
git clone https://github.com/crystal-tran/warbler.git
- Create a virtual environment and install dependencies
python3 -m venv venv source venv/bin/activate pip install -r requirements.txt
- Create and seed database
createdb warbler python seed.py
- Run app
flask run
- View on http://localhost:5000/
- Veronica Ni : Frontend and backend co-author