Home

Awesome

DOGEAPI

<p align="center"> <img src="https://img.shields.io/badge/Dev-Yezz123-green?style"/> <img src="https://img.shields.io/badge/language-python-blue?style"/> <img src="https://img.shields.io/github/stars/yezz123/DogeAPI"/> <img src="https://img.shields.io/github/forks/yezz123/DogeAPI"/> <img src="https://visitor-badge.laobi.icu/badge?page_id=yezz123.Pretty-Readme"> <img src="https://img.shields.io/static/v1?label=%F0%9F%8C%9F&message=If%20Useful&style=style=flat&color=BC4E99" alt="Star Badge"/> <a href="https://github.com/yezz123/DogeAPI/actions/workflows/docker-publish.yml"><img src="https://github.com/yezz123/DogeAPI/actions/workflows/docker-publish.yml/badge.svg?branch=main"/></a> </p>

DogeAPI

API with high performance built with FastAPI & SQLAlchemy, help to improve connection with your Backend Side to create a simple blog and Cruds with OAuth2PasswordBearer ⛏

Getting Started

Prerequisites

Project Setup

# clone the repo
$ git clone https://github.com/yezz123/DogeAPI

# move to the project folder
$ cd DogeAPI

Creating Virtual Environment

# creating virtual environment
$ virtualenv venv

# activate virtual environment
$ source venv/bin/activate

# install all dependencies
$ pip install -r requirements.txt

Running the Application

# Running the application using uvicorn
$ uvicorn main:app --reload

Environment Variables

change all the environment variables in the .env.sample and don't forget to rename it to .env.

Configured Environment

Models

Running the Docker Container

# Pull the latest image
$ make pull

# Build the image
$ make build

# Run the container
$ make start

Preconfigured Packages

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

PackageUsage
uvicorna lightning-fast ASGI server implementation, using uvloop and httptools.
Python-Josea JavaScript Object Signing and Encryption implementation in Python.
SQLAlchemyis the Python SQL toolkit and Object Relational Mapper that gives application developers the full power and flexibility of SQL.
starlettea lightweight ASGI framework/toolkit, which is ideal for building high performance asyncio services.
passliba password hashing library for Python 2 & 3, which provides cross-platform implementations of over 30 password hashing algorithms
bcryptGood password hashing for your software and your servers.
python-multipartstreaming multipart parser for Python.

yapf packages for linting and formatting

Contributing

License

This project is licensed under the terms of the MIT license.