Save and configure your gamevitations games
-
DB
- docker
- postgresql
-
Frontend
- React
- html canvas
- chart.js
-
Backend
- django
- django rest framework
-
Deployment
- Netlify
- Heroku with postgresql addon
- Clone or download the repo.
git clone https://github.com/gitplayers/server.git - Open terminal and navigate to the project folder.
- Run pipenv shell to enter virtual environment (or virtual environment of your choice)
- Run pipenv install to install dependencies
- Run docker-compose up on another terminal
- Run in the pipenv shell terminal pipenv run dev to launch
- Go to localhost:8000 to view the server app
| Route | Description |
|---|---|
| /register | show register (linked from client and login page) |
| /login | Show Login page (home when nobody is logged in) |
| / | show the actual configuration of the game for that user and link to update config |
| /configuration | Form to configurate the game or update |
| /settings | form to update user settings |
| Route | Data Required from front end | Description | Type |
|---|---|---|---|
| /json/:game_id | not aplicable | Return game configuration for specific id | GET |
| /json/:game_id/scores | name of gamer and score of gamer | update the scores of a game with a new one | PATCH |
| /json/:game_id/scores | not aplicable | Return updated scores (not whole object) | GET |
USER
Name
Type
Notes
id
SERIAL
Primary key
name
varchar
Not null
email
email
Not null
password
password
Not null
| Name | Type | Notes |
|---|---|---|
| id | SERIAL | Primary key |
| name | varchar | Not null |
| Not null | ||
| password | password | Not null |
GAME
Name
Type
Notes
id
SERIAL
Primary key
date
timestamp
default = now
host_id
Foreign Key (user)
Not null
questions
ManyToMany(question)
Not null
character
Foreign Key (character)
Not null
invitation
Foreign Key (invitation)
Not null
scores
ManyToMany(score)
Null
| Name | Type | Notes |
|---|---|---|
| id | SERIAL | Primary key |
| date | timestamp | default = now |
| host_id | Foreign Key (user) | Not null |
| questions | ManyToMany(question) | Not null |
| character | Foreign Key (character) | Not null |
| invitation | Foreign Key (invitation) | Not null |
| scores | ManyToMany(score) | Null |
QUESTION
Name
Type
Notes
id
SERIAL
Primary key
question
varchar(500)
Not null
correct_answer
varchar(100)
Not null
incorrect_anwer
[varchar(100)](3)
Not null
| Name | Type | Notes |
|---|---|---|
| id | SERIAL | Primary key |
| question | varchar(500) | Not null |
| correct_answer | varchar(100) | Not null |
| incorrect_anwer | [varchar(100)](3) | Not null |
CHARACTER
Name
Type
Notes
id
SERIAL
Primary key
hair_id
int
Not null
skin_id
int
Not null
dress_id
int
Not null
eyes_id
int
Not null
| Name | Type | Notes |
|---|---|---|
| id | SERIAL | Primary key |
| hair_id | int | Not null |
| skin_id | int | Not null |
| dress_id | int | Not null |
| eyes_id | int | Not null |
SCORE
Name
Type
Notes
id
SERIAL
Primary key
name
varchar(100)
Not null
score
int
Not null
| Name | Type | Notes |
|---|---|---|
| id | SERIAL | Primary key |
| name | varchar(100) | Not null |
| score | int | Not null |
INVITATION
Name
Type
Notes
id
SERIAL
Primary key
title
varchar(300)
Not null
message
varchar(500)
Not null
| Name | Type | Notes |
|---|---|---|
| id | SERIAL | Primary key |
| title | varchar(300) | Not null |
| message | varchar(500) | Not null |