Skip to content

crystal-tran/warbler

Repository files navigation


🐣🐦🦉 Warbler 🦆🐥🦜

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 render warbler-demo

Table of Contents
  1. About The Project
  2. Built With
  3. Getting Started
  4. Authors
  5. Acknowledgments

About the Project

Warbler is a full-stack application that enables users to register, manage their profile, browse and search for users, post/like messages, and follow/unfollow users. This project was built in December 2023 during a 4-day sprint at Rithm School.

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

(back to top)

Learnings

  • 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


Database Design

warbler-db-schema

Built With

  • Python
  • Flask
  • Jinja
  • jQuery
  • SQLAlchemy Badge
  • Postgres
  • CSS3
  • ElephantSQL
  • Render

(back to top)

Getting Started

To get a local copy up and running follow these steps.

  1. Clone repository
    git clone https://github.com/crystal-tran/warbler.git
    
  2. Create a virtual environment and install dependencies
    python3 -m venv venv
    source venv/bin/activate
    pip install -r requirements.txt
  3. Create and seed database
    createdb warbler
    python seed.py
  4. Run app
    flask run
  5. View on http://localhost:5000/

(back to top)

Authors

Acknowledgments

(back to top)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published