/PostIT

PostIt is an application that allows users to post and answer questions. Built using Python-Flask, and React/Redux.

Primary LanguagePython

PostIt

image

Summary

PostIt is a single-page web application using Python, Flask, PostgreSQL and React/Redux. PostIt allows users to

  • Create an account
  • Log in / Log out
  • Create Friend links between other users
  • Delete Friend from your friends list
  • Create/Post Questions
  • Delete Questions
  • Leave answers to Friends Questions
  • Delete Answers posted to Questions

Overall Structure

Database Schema

image

The application was built using Python with a postgreSQL database and React.JS Front-End. Backend structure is RESTful and all data requests are handled through SQLAlchemy and are fullfilled with FLask.

Front end

The front end is built using a React Libray, Redux Store and syled with regular CSS.

Primary Components

User Authorization

User authorization is handled in Python using werkzeug security for password hashing. These hashed passwords are saved to the database instead of the plain-text passwords. Upon login, the password that a user enters is rehashed and checked against the hashed password in the database to verify credentials.

Home Page

Home

The users homepage is filled with their friends posts, where they can leave an answer, edit an answer, or delete the post from their feed.

User

Friends1 Friends2

A user has a friends page, that allows that user to add/delete friends from their friend's list.

Posts

Posts Posts2

A user is able to check on the posts they've made, as well as create a new post from the Navigation bar.

Answers

Answers

Users are able to post answers on specific question posts. They're also able to check any answers to any posts on the answers tab.