Skip to content
Tony Sainez edited this page Jun 8, 2022 · 3 revisions

Welcome to the Bobchat wiki!

Features

Bobchat 🧶 is an interactive Reddit-like social media website where users can make posts in dens (communities), and can like and comment on posts. They can even make all new dens to follow and share with friends! Users are also provided with a personalized feed, showing them only relevant posts from dens they follow.

An example personalized feed.

Front-end

The front-end is handled by Flask.

  • We utilized several patterns for Flask
    • Flask application is managed by a Flask Application Factory.
    • Pages with similar themes are handled by Blueprints, which makes routing for rendering the associated content from templates easier. Python WSGI HTTP server handled by Gunicorn for production, Werkzeug for development.

Back-end

The back-end is handled by sqlite3.

  • One Python file, db.py provides a way to initialize and handle a connection to the sqlite database.
    • Provides you with a database connection object, with which you can execute SQL queries directly and commit changes.
    • Results of SQL queries can be retrieved and stored in the Python environment and redirected to the front-end Flask framework for rendering HTML templates.
    • SQL queries are automatically sanitized by Flask, so SQL-injection attacks are not possible.
    • Passwords are automatically salted and hashed, and authenticating users and handling sessions is secure.

Hosting and Deployment

Since Bobchat is installable as a Python package, installing dependencies is easy and running the project on other machines is easy. The website is automatically deployed via GitHub to Heroku.

See deployments.

Clone this wiki locally