flask_hackernews
flask_hackernews copied to clipboard
🐍 A Hackernews clone in flask + python + sqlalchemy
flask_hackernews is a minimalistic hackernews clone.
Built so that beginners who want a hackernews-like application can quickly get to work.
Greatly inspired by the awesome flask megatutorial, one of the best ressources to learn more about flask.
It uses:
-
flask
as a web framework. -
flask-sqlalchemy
as an ORM. -
SQLite
as a database. -
heroku
for a simple deployment. - Other less known libraries listed in
requirements.txt
Contents
- Features
- Set up
- Deployment
- About
Features
- user authentication
- upvoting on comments and posts
- karma
- user profiles
- post ranking algorithms based on the 'official' one
- comment replies, threading and more!
Set up Instructions
Follow these instructions if you wish to run this project locally
- clone this repo
$ git clone https://github.com/duarteocarmo/flask_hackernews
- create a virtual environment with the latest python version
- install requirements
(venv) $ pip install -r requirements.txt
- create a
.env
file in the home directory with the following structure
FLASK_APP=flasknews.py
SECRET_KEY = "yoursecretkey"
MAIL_ADMIN_ADDRESS = <admin_email_adress>
MAIL_SERVER = <admin_mail_server>
MAIL_PORT = <admin_mail_port>
MAIL_USE_TLS = 1
MAIL_USERNAME = <admin_email_adress>
MAIL_PASSWORD = <admin_email_password>
- initiate your database
(venv) $ flask db init
(venv) $ flask db upgrade
- 🎉Run!!🎉
(venv) $ flask run
- visit
http://localhost:5000
to check it out.
Deployment
Follow these instructions to deploy your to the 🌎
- Heroku: follow this guide.
- Docker: follow this guide.
- Linux: follow this guide.
About
This project was built by duarteocarmo. If you have any questions, contact me!