Skip to content

erika-dike/django_bucketlist_app

Repository files navigation

Build Status Coverage Status Scrutinizer Code Quality

The Bucketlist App

This app allows users to easily manage lists of activities, adventures, experiences e.t.c. they would like to do/have during their lifetime.

Features

  • GUI
  • RESTful API
  • UI documentation

API Documentation

See the API documentation here.

Technologies Used

There were a couple of third party libraries used for this project. The major ones are listed:

  • Django - a high-level Python Web framework that encourages rapid development and clean, pragmatic design.
  • Django REST Framework - Django REST framework is a powerful and flexible toolkit for building Web APIs.
  • PostgreSQL - a powerful, open source object-relational database system.
  • Bower - package that manages components that contain HTML, CSS, JavaScript, fonts or image files.
  • Django-bower - Easy way to use bower with your Django project.
  • React - a Javascript library for building user interfaces.
  • React-bootstrap - CSS framework rebuilt for React.
  • Webpack - a module bundler.
  • jQuery - a fast, small, and feature-rich JavaScript library.
  • React Packery Component - Javascript library that makes gapless and draggable layouts.
  • React Router - a complete routing library for React.
  • Redux - a predictable state container for JavaScript apps.
  • Axios - Promise based HTTP client for the browser and node.js.
  • MomentJS - a library that Parses, validates, manipulates, and displays dates in JavaScript.

Others can be viewed in the requirements.txt and package.json files found in project's root fould.

Installation

Pre-requisites

optional

Follow these steps to Install:

  1. Clone this repository to the folder where you would like it installed on your machine.

  2. In the project root, add a .env.yml file to hold all your environment variables. The variables below must be given a value:

    SECRET_KEY:
    'very-very-very-secret-key'
    DATABASE_USER:
    'foo_user'
    DATABASE_PASSWORD:
    'youcannotguessme' 
  3. It is recommended that you create a virtual environment here before proceeding with installation:

    $ mkvirtualenv name_of_virtual_environment
  4. Install all project's dependencies both backend and frontend by running the following commands in order (from project root):

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

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

Run Project Locally

After successfully installing project on your machine, run server with:

$ python bucketlist/manage.py runserver

Tests

To run tests:

$ python bucketlist/manage.py test --settings=bucketlist.settings.test

For coverage report:

$ coverage run --source=api,frontend bucketlist/manage.py test bucketlist --noinput --settings=bucketlist.settings.test
$ coverage report -m

License

GNU GPL

Example

Visit Do the bucket to play with the live app on heroku.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published