An open API service indexing awesome lists of open source software.

https://github.com/kucera-lukas/imagesecrets

RESTful API for encoding/decoding messages into/from images.
https://github.com/kucera-lukas/imagesecrets

api asyncio docker fastapi heroku mypy numpy pillow poetry postgresql pydantic pytest pytest-cov pytest-mock python python-typing restful-api steganography swagger tortoise-orm

Last synced: 4 months ago
JSON representation

RESTful API for encoding/decoding messages into/from images.

Awesome Lists containing this project

README

        

# ImageSecrets

![Heroku](https://pyheroku-badge.herokuapp.com/?app=imagesecrets&path=/&style=flat)
![Build](https://github.com/kucera-lukas/imagesecrets/actions/workflows/build.yml/badge.svg)
![Test Suite](https://github.com/kucera-lukas/imagesecrets/actions/workflows/test.yml/badge.svg)
[![codecov](https://codecov.io/gh/kucera-lukas/imagesecrets/branch/master/graph/badge.svg?token=BUUQN2WP9K)](https://codecov.io/gh/kucera-lukas/imagesecrets)
[![Language grade: Python](https://img.shields.io/lgtm/grade/python/g/kucera-lukas/imagesecrets.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/kucera-lukas/imagesecrets/context:python)
[![Total alerts](https://img.shields.io/lgtm/alerts/g/kucera-lukas/imagesecrets.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/kucera-lukas/imagesecrets/alerts/)

RESTful API for encoding/decoding messages into/from images.
* [Website - home](https://imagesecrets.herokuapp.com)
* [Website - Swagger UI](https://imagesecrets.herokuapp.com/docs)
* [Website - ReDoc](https://imagesecrets.herokuapp.com/redoc)

## Tech/framework used
* Python 3.9
* FastAPI
* PostgreSQL with Tortoise ORM
* Docker
* Heroku

## Features
* Image steganography to encode and decode messages
* User management and authentication
* Great documentation via OpenAPI

## What I've learned
* Python - Improved knowledge of testing, asynchronous development, ORMs, coverage
* FastAPI - Gained great experience with the framework
* NumPy - Used for reading and editing image pixel data
* Databases - Learned how to use SQLAlchemy and Tortoise ORM for asynchronous database development
* DevOps - CI/CD pipeline, production database and Heroku
* API development - REST principles, JSON Web Tokens, data serialization

## License
* Developed under the [MIT](https://gitlab.com/Lkms19/lightning-pass/-/blob/master/LICENSE) license.