Skip to content

uzoawili/neatpix-api

Repository files navigation

neatpix   Circle CI Coverage Status

Upload. Prettify. Share.

Overview

Neatpix is a simple web app that allows users to upload their photos to the cloud, apply and save filters/effects to these photos and then share them on social media. In addition, the app also lets users download their edited photos to desktop. Social media support is limited to Facebook for this version.

Tech

The Neatpix app will be built using a number of web development technologies and services, some of which include:

  • Django  - Python web development framework for building web apps quickly and with less code.
  • PostgreSQL  - relational database management system.
  • Bower  - front end javascript dependency manager.
  • Flexgrid  - front-end flexbox framework for layout.
  • jQuery  - fast, small, and feature-rich JavaScript library.
  • Python Image Library (Pillow)  - image manipulation and effects.
  • Facebook Javascript SDK  - Facebook SDK for JavaScript for integrating client-side Facebook functionality into your web apps.

Installation

Follow the steps below to install Neatpix on your local machine:

  1. Ensure you have Python >= 2.7 installed. You can get it here. Using a virtual environment is also recommended.

  2. Ensure you have npm and bower installed. You can get npm here.

  3. Ensure you have PostgreSQL installed and create a database with the name neatpix.

  4. Clone this repository to your machine.

  5. In the project root, add a .env.yml file to hold all your environment variables, such your secret key (required) and database credentials e.g:

    SECRET_KEY:
    'very-very-very-secret-key'
    DATABASE_USER:
    'foo_user'
    DEBUG_MODE:
    'debug-mode-for-current-deploy'
    DATABASE_PASSWORD:
    'youcannotguessme'
    FACEBOOK_APP_ID:
    'your-own-facebook-appi-id'
    
  6. Install all python and front end dependencies by running the followings commands in order, from in the project root:

    $ npm install -g bower
    $ bower install
    $ pip install -r requirements.txt
    
  7. To setup static files and database migrations, run (also in the project root):

    $ neatpix/python manage.py collectstatic
    $ python neatpix/manage.py makemigrations
    $ python neatpix/manage.py migrate
    

Running the Server

Run $ neatpix/python manage.py runserver to start the server.

Testing

  • To run tests:
    $ python neatpix/manage.py test --settings=neatpix.settings.testing

  • For the coverage report:

    1. $ coverage run --source=webapp neatpix/manage.py test neatpix --settings=neatpix.settings.testing
    2. $ coverage report
    3. $ coverage html

About

Django-powered photo-editing web application.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published