Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/tobked/contact_box

App to manage contacts, written in Django
https://github.com/tobked/contact_box

Last synced: about 1 month ago
JSON representation

App to manage contacts, written in Django

Awesome Lists containing this project

README

        

# contact_box
Contact box application written in Django

## Run project
#### PostgresSQL
The app is configured to work with PostgresSQL database and it's required to set the following environmental variables:
* DJANGO_DEBUG
* DJANGO_SECRET_KEY
* DATABASE_NAME
* DATABASE_USER
* DATABASE_PASSWORD
* DATABASE_HOST
* EMAIL_USER
* EMAIL_PASS

You can take this code, put it in your text editor, fill values and paste to terminal

```
export DJANGO_DEBUG=''
export DJANGO_SECRET_KEY=''
export DATABASE_NAME=''
export DATABASE_USER=''
export DATABASE_PASSWORD=''
export DATABASE_HOST=''
export EMAIL_USER=''
export EMAIL_PASS=''
```

#### SQLite3

You can use SQLite3 as well. Default settings are commented-out. Just uncomment them and delete/comment previous database settings.
WARNING! You still have to set environmental variable for DJANGO_SECRET_KEY.

#### Dependencies

```bash
$ cd src
$ pip install -r requirements.txt
```

## Project details
#### Database visualisation

![alt text](/img/contact_box_visualized.png)

#### Django lessons learned
* User authentication
* Generic views and mixins
* Custom model managers and querysets
* Forms, formsets, inline formsets
* Custom template filters
* Pagination
* Crispy forms
* Django debug toolbar
* Email backend (password recovery)
* Graph models ([pygraphviz](https://django-extensions.readthedocs.io/en/latest/graph_models.html))
* Signals

#### Other lessons learned
* Responsive Web Design (Bootstrap)
* Heroku deployment