All Projects → idris-rampurawala → flask-boilerplate

idris-rampurawala / flask-boilerplate

Licence: MIT license
A Flask Boilerplate to quickly get started with production-grade flask application. It has some additional packages pre-configured for ease of development.

Programming Languages

python
139335 projects - #7 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to flask-boilerplate

talkshow
A Call 4 Papers System - A simple base app as example of Flask Architecture
Stars: ✭ 56 (+30.23%)
Mutual labels:  flask-application, flask-boilerplate
eleanor
Code used during my Chaos Engineering and Resiliency Patterns talk.
Stars: ✭ 14 (-67.44%)
Mutual labels:  flask-application, flask-backend
Resume-Generator
A Resume builder which allows users to build their own custom resumes with details like experience,projects , skills ,education etc. Users can also have the feature to download their resumes . To contribute send PR at development branch from where it will be merged in master once checked.
Stars: ✭ 28 (-34.88%)
Mutual labels:  flask-application, flask-backend
Listen Now
Listen-now, 提供了多音乐平台的音乐搜索、播放、歌单播放、同步平台歌单到本地数据库,并计划开发智能音乐推荐系统。listen-now主要由学生层级的同学一起开发。
Stars: ✭ 139 (+223.26%)
Mutual labels:  flask-application
Appkernel
API development made easy: a smart Python 3 API framework
Stars: ✭ 152 (+253.49%)
Mutual labels:  flask-application
flask-vuln
Pretty vulnerable flask app..
Stars: ✭ 23 (-46.51%)
Mutual labels:  flask-application
bank-statement-analysis
Flask application generating interactive visualisations from bank statements PDF documents
Stars: ✭ 31 (-27.91%)
Mutual labels:  flask-application
Jiosaavnapi
An unofficial API for JioSaavn written in Python 3
Stars: ✭ 123 (+186.05%)
Mutual labels:  flask-application
NLP-Flask-Website
A simple Flask website for all NLP tasks which includes Text Preprocessing, Keyword Extraction, Text Summarization etc. Created Date: 30 Jan 2019
Stars: ✭ 43 (+0%)
Mutual labels:  flask-application
flask-ocr
use flask and tesseract to have a basic ocr, also you need opencv2, this code use opencv2 to have a basic image process
Stars: ✭ 27 (-37.21%)
Mutual labels:  flask-application
RenameThemSubs
Rename multiple subtitles files to match video file names for automatic loading with just one click
Stars: ✭ 40 (-6.98%)
Mutual labels:  flask-application
Yublog
Person blog powered by flask.
Stars: ✭ 164 (+281.4%)
Mutual labels:  flask-application
flask-vue-project-seed
SPA quick start using Python Flask and Vue.js. Containerized with Docker.
Stars: ✭ 27 (-37.21%)
Mutual labels:  flask-backend
Translatr
💬 Translate to multiple languages at once
Stars: ✭ 145 (+237.21%)
Mutual labels:  flask-application
NER-and-Linking-of-Ancient-and-Historic-Places
An NER tool for ancient place names based on Pleiades and Spacy.
Stars: ✭ 26 (-39.53%)
Mutual labels:  flask-application
Pyxtermjs
A fully functional terminal in your browser.
Stars: ✭ 127 (+195.35%)
Mutual labels:  flask-application
AI-DRAW
Web-based Shape Recognition Deep Learning Application. This project has been created by my workshop /with @ytumint @veribilimiytu
Stars: ✭ 28 (-34.88%)
Mutual labels:  flask-application
Uwsgi Nginx Flask Docker
Docker image with uWSGI and Nginx for Flask applications in Python running in a single container. Optionally with Alpine Linux.
Stars: ✭ 2,607 (+5962.79%)
Mutual labels:  flask-application
Json2html
🐍 Python module for converting complex JSON to HTML Table representation
Stars: ✭ 173 (+302.33%)
Mutual labels:  flask-application
FUTURE
A private, free, open-source search engine built on a P2P network
Stars: ✭ 19 (-55.81%)
Mutual labels:  flask-application

Flask Boilerplate

The MIT License

Flask Boilerplate to quickly get started with production grade flask application with some additional packages and configuration prebuilt.

You can find an in-depth article on this implementation here.

Contributing

We encourage you to contribute to Flask Boilerplate! Please check out the Contributing guidelines about how to proceed.

Getting Started

Prerequisites

  • Python 3.9.2 or higher
  • Up and running Redis client

Project setup

# clone the repo
$ git clone https://github.com/idris-rampurawala/flask-boilerplate.git
# move to the project folder
$ cd flask-boilerplate

Creating virtual environment

  • Install pipenv a global python project pip install pipenv
  • Create a virtual environment for this project
# creating pipenv environment for python 3
$ pipenv --three
# activating the pipenv environment
$ pipenv shell
# install all dependencies (include -d for installing dev dependencies)
$ pipenv install -d

# if you have multiple python 3 versions installed then
$ pipenv install -d --python 3.9

Configuration

  • There are 3 configurations development, staging and production in config.py. Default is development
  • Create a .env file from .env.example and set appropriate environment variables before running the project

Running app

  • Run flask app python run.py
  • Logs would be generated under log folder

Running celery workers

  • Run redis locally before running celery worker
  • Celery worker can be started with following command
# run following command in a separate terminal
$ celery -A celery_worker.celery worker -l=info  
# (append `--pool=solo` for windows)

Preconfigured Packages

Includes preconfigured packages to kick start flask app by just setting appropriate configuration.

Package Usage
celery Running background tasks
redis A Python Redis client for caching
flask-cors Configuring CORS
python-dotenv Reads the key-value pair from .env file and adds them to environment variable.
marshmallow A package for creating Schema, serialization, deserialization
webargs A Python library for parsing and validating HTTP request objects

autopep8 & flake8 as dev packages for linting and formatting

Test

Test if this app has been installed correctly and it is working via following curl commands (or use in Postman)

  • Check if the app is running via status API
$ curl --location --request GET 'http://localhost:5000/status'
  • Check if core app API and celery task is working via
$ curl --location --request GET 'http://localhost:5000/api/v1/core/test'
  • Check if authorization is working via (change API Key as per you .env)
$ curl --location --request GET 'http://localhost:5000/api/v1/core/restricted' --header 'x-api-key: 436236939443955C11494D448451F'

License

This program is free software under MIT license. Please see the LICENSE file in our repository for the full text.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].