/AImage

Web application that allows User to improve the quality of low-resolution images using the deep learning model

Primary LanguagePythonGNU Affero General Public License v3.0AGPL-3.0

Release AGPL License


Logo

AImage

Project Link »

Table of Contents
  1. About The Project
  2. Features
  3. Getting Started
  4. Contributing
  5. Release History
  6. Authors
  7. License
  8. Acknowledgements

About The Project

Web application that allows User to improve the quality of low-resolution images using the deep learning model. The logged in User can also store orginal and improved images on the server.

Demo

Desktop Version

Computer

Mobile Version

Mobile Mobile

Result

Result Result Result Result

Upload images from local disk or url

User images list

Delete image

Built With

  • Python 3 - a programming language
  • HTML - a language for describing the structure of websites
  • Sass - a stylesheet language that is compiled to CSS
  • JavaScript - a programming language that allows you to implement complex features on web pages
  • Django - a high-level Python Web framework
  • Docker - a containerization technology
  • Bootstrap - a framework for developing responsive and mobile-first websites
  • Particles.js - a lightweight JavaScript library for creating particles
  • Leaflet - a open-source JavaScript library for mobile-friendly interactive maps
  • OpenStreetMap - a free, editable map of the whole world
  • Neural Enhance - a deep learning model

Features

  • User registration and login
  • Logged in User features:
    • Storing images on the server
    • Loading images from disk or by entering a URL
    • Improving images stored on the server using the neural network
    • Improving images without saving them to the server using the neural network
    • Adding feedback on image processing results
  • Not logged in User features:
    • Improving images (with a size limit) using the neural network without being able to save images to the server
  • "About" tab with the access map

Getting Started

These instructions allow you to run a copy of the project on your local computer for programming and testing purposes.

Prerequisites

  1. Python 3
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install python3.8 
sudo apt-get install python3-pip
  1. Docker
sudo apt-get install docker.io

Installation

  1. Clone the repo
git clone https://github.com/DrDEXT3R/AImage.git
  1. Install the necessary dependencies
cd aimagesite
pip install -r requirements.txt
  1. Create database
python manage.py makemigrations
python manage.py migrate

In our project we use sqlite3 database. If you want to use different kind of database it's no problem, because Django uses ORM. All you have to do is change the database settings in the aimagesite/aimagesite/settings.py file:
Database settings

  1. Run local server
python manage.py runserver
  1. Open local server
    http://127.0.0.1:8000/

Contributing

  1. Check the Issues and the Projects sections
  2. Fork the project
  3. Create your branch (check the "Branches" section below for naming convention)
  4. Commit your changes
  5. Open a Pull Request

Branches

Code Flow Branches:

  • Master - master
    The branch with the last working version of the project.
  • Development - develop
    The main branch on which users' work is assembled.

Temporary Branches:

  • Feature - feature/branch-name
    A branch on which all work related to software implementation is performed.
  • Release - release/vX.X
    A preparatory branch for the release of the project version.
  • Bug Fix - bugfix/branch-name
    This is a fix that needs to be implemented.
  • Hot Fix - hotfix/branch-name
    This is a fix that must be included in the project version as soon as possible.

Release History

  • v1.1
    • Prepare the application for deployment in a production environment
    • REMOVE: Google Drive feature (due to Google's policy)
    • FIX: Form display on the homepage in high resolutions
    • CHANGE: Update docs
  • v1.0
    • The first proper release

Authors

License

This project is licensed under the GNU Affero General Public License v3.0 - see the LICENSE file for details

Acknowledgements