neosin / python-newsapp

Python-based application allows an authenticated user to create posts to articles/links and comment/vote on favorites. Technologies Include: Python, Flask, SQLAlchemy, Jinja, JavaScript, Bootstrap

Home Page:https://python-newsapp-mh.herokuapp.com/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Python News Application

License: MIT

Deployed Application

Python News App

Screenshot of Python News App Screenshot of Python News App

Description

This application, built with a Python/Flask back-end, allows an authenticated user to create posts for links/articles of interest as well as comment and upvote on posts.

When the user navigates to the homepage, a list of all saved posts will be rendered, and the user can navigate to the 'Sign In' page to either sign in as a guest, create a new account, or log into another existing account. Once authenticated, the user may create a post by pasting a link and writing a title of choice. Once posted, the user may edit their post titles. The user also has the capability of writing comments on posts, deleting posts, and upvoting favorite posts.

This application's back-end communicates with a MySQL Database using SQLAlchemy. On the front-end, Python Jinja templating is used to dynamically render data. Routes are protected using decorator/middleware functions. For security purposes, bcrypt is used to encrypt passwords.

Features

  • Python back-end with Flask routing
  • SQLAlchemy ORM used to model data and simplify CRUD operations
  • Bcrypt securely stores passwords
  • Jinja templating used to dynamically render data in HTML
  • Routes requiring authentication are secured using Python decorator functions as route middleware
  • Bootstrap 4 components including grid, navbar, cards, and modals
  • Responsive to a wide variety of screen sizes using Bootstrap and supporting Media Queries

Contact

Michael Hanson

License

Licensed under the MIT License.

About

Python-based application allows an authenticated user to create posts to articles/links and comment/vote on favorites. Technologies Include: Python, Flask, SQLAlchemy, Jinja, JavaScript, Bootstrap

https://python-newsapp-mh.herokuapp.com/

License:MIT License


Languages

Language:Python 45.8%Language:HTML 29.8%Language:JavaScript 18.7%Language:CSS 5.6%