Install dependencies with npm install
.
- Make sure you have a
development
user for PostgreSQL - Use the
psql -U development
command to login to the PostgreSQL server with the usernamedevelopment
and the passworddevelopment
. - Create a database with the command
CREATE DATABASE scheduler_development;
. - Copy the
.env.example
file to.env.development
and fill in the necessary PostgreSQL configuration. Thenode-postgres
library uses these environment variables by default.
PGHOST=localhost
PGUSER=development
PGDATABASE=scheduler_development
PGPASSWORD=development
PGPORT=5432
Run a the development server with npm start
in the Host environment. We are only using vagrant for psql
this week.
Both of these achieve the same result.
- Make a
GET
request to/api/debug/reset
withcurl http://localhost:8001/api/debug/reset
. - Use the browser to navigate to
http://localhost:8001/api/debug/reset
.
The development
data is random. Each time we seed we expect to see different appointments.
Running the server normally
npm start
Running the server so it returns an error when saving/deleting for testing the client's error handling capabilities
npm run error
GET /api/days
Response
[
{
"id": 1,
"name": "Monday",
"appointments": [1, 2],
"interviewers": [1, 2],
"spots": 0
}
]
GET /api/appointments
Response:
{
"1": {
"id": 1,
"time": "12pm",
"interview": {
"student": "Lydia Miller-Jones",
"interviewer": 1
}
},
"2": {
"id": 2,
"time": "1pm",
"interview": {
"student": "Archie Cohen",
"interviewer": 2
}
}
}
PUT /api/appointments/:id
Body:
{
"interview": {
"student": String,
"interviewer": Number
}
}
DELETE /api/appointments/:id
GET /api/interviewers
Response:
{
"1": {
"id": 1,
"name": "Sylvia Palmer",
"avatar": "https://i.imgur.com/LpaY82x.png"
},
"2": {
"id": 2,
"name": "Tori Malcolm",
"avatar": "https://i.imgur.com/Nmx0Qxo.png"
}
}