https://cuisine-crusader.herokuapp.com/
Node & MySQL are required to launch the server
NodeJS (with NPM)
- This is the http/websockets server
- https://nodejs.org/en/download/
- run npm_install.bat to download node modules
- run start_node.bat to run the server
MySQL 5.7.x
- The DB software
- https://dev.mysql.com/downloads/mysql/
A Database Editor (any should be fine)
- GUI for reading/writing rows
- I like HeidiSQL
- https://www.heidisql.com/download.php
JavaScript/Web IDE (any should be fine)
- For building our website/server
- I like atom or sublime
- https://atom.io/
- https://www.sublimetext.com/3_
- Visual Studio Code is also a good choice -RJ
- https://code.visualstudio.com/
Github
- Git bash CLI
- https://git-scm.com/downloads
Settings.json file - created when server is first launched witih default values
{
"port": 8080,
"mysql_host": "127.0.0.1",
"mysql_user": "root",
"mysql_password": "",
"mysql_port": 3306,
"mysql_database": "cuisine_crusader"
}
Table | Schema |
---|---|
cuisines | {id, name, season, function, weight, volume, tips} |
cuisine_associations | {cuisine_id, association_id, compatibility} |
tastes | {id, name} |
taste_associations | {cuisine_id, taste_id} |
techniques | {id, name} |
technique_associations | {cuisine_id, technique_id} |
accounts | {account_id, email, first_name, last_name, pro_chef} |
saved_associations | {account_id, group_id, cuisine_id} |
Header | Value | Purpose |
---|---|---|
x-cuisine-crusader | "rjdr" | required for non-search functions |
x-session-guid | (server assigned #) | associates a session with an email |
x-cc-dev | "darksouls3" | secret header for developer functions |
URL | Description | Returns |
---|---|---|
https://cuisine-crusader.herokuapp.com/cuisines/search/_SEARCH_ | Cuisine name search | ["cusine1", "cuisine2", ..."cuisineN"] |
https://cuisine-crusader.herokuapp.com/cuisines/info/_SEARCH_ | Cuisine info search | {name: "name", .... tips: "do something"} |
https://cuisine-crusader.herokuapp.com/cuisines/associations/_SEARCH_ | Cuisine associations search | ["associate1", "associate2", ..."associateN"] |
https://cuisine-crusader.herokuapp.com/tastes/search/_SEARCH_ | Taste name search | ["taste1", "taste2", ..."tasteN"] |
https://cuisine-crusader.herokuapp.com/tastes/associations/_SEARCH_ | Taste association search | ["associate1", "associate2", ..."associateN"] |
https://cuisine-crusader.herokuapp.com/techniques/search/_SEARCH_ | Technique name search | ["technique1, "technique2, ..., "techniquesN"] |
https://cuisine-crusader.herokuapp.com/techniques/associations/_SEARCH_ | Technique association search | ["associate1", "associate2", ..."associateN"] |
Parameter | Value | Description | Example |
---|---|---|---|
search | item name (string) | auto search on page load | ?search=anise |
form | anything | auto fills account registration form | ?form=1 |
login | anything | auto filles login form | ?login=1 |