This is a web app for band management and communication.
You have to install pip and virtualenv in order to run the server.
installation:
mkdir ~/.virtualenvs
cd bandalists_drf
virtualenv ~/.virtualenvs/bandalists
source !$/bin/activate
pip install -r requirements.txt
./manage.py migrate
running:
source ~/.virtualenvs/bandalists/bin/activate
./manage.py runserver
admin interface:
http://localhost:8000/admin
it would be a good idea to create a band for your user from the admin interface in order to see what is happening. (Dashboard and Bands are the only menu items which are currently under development)
cd bandalists_drf/public && python -m SimpleHTTPServer 8001
Bandalists uses websockets, notifications are being pushed through redis. You need to setup and start redis!
To run the frontend just:
cd frontend
npm install
npm start
go to http://localhost:3000
and voila.
- Create a profile
- create a band
- go to dashboard and talk with yourself or invite friends
Django 1.9 with django rest framework. Endpoints:
Installation:
if on Debian please make sure you have installed:
libffi-dev libssl-dev libxml2-dev libxslt1-dev libncurses5-dev
$ mkvirtualenv bandalists
$ pip install -r requirements.txt
$ cd bandalists_drf/ && ./manage.py runserver
url: /rest-auth/
post: username/password -> token
Lists the bands of the current user.
gets the band with the given slug
Lists the instruments a user plays for each band.
url: /threads/
Lists the threads that a user can see meaning they belong to one of his band's dashboard. A thread can have a parent (in order to act as a comment to its parent). Also if a user reads a thread, it's marked as 'seen' for this user. If the user is the author, then the thread is marked as 'seen' on creation.
?dashboard=<dashboard_id>
Lists the threads for a specific dashboard.
url: /notifications/
Creates a notification for a user.
When a new notification object is saved, then it's being pushed to the redis/websocket.
Into receivers.py
you can bind hooks for each model that you would like to create
notifications for.
url: /me/
Shows logged users details
Creates user if not authenticated (username, password, email)
changes users values: (username, name, surname, avatar (file), password, email)
removes my account
url: /user/<id>/
gets user's with id=id details