Install dependencies with npm install.
Use the psql -U development command to login to the PostgreSQL server with the username development and the password development. This command MUST be run in a vagrant terminal, we are using the PostgreSQL installation provided in the vagrant environment.
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. The node-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
GETrequest to/api/debug/resetwithcurl 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 startRunning the server so it returns an error when saving/deleting for testing the client's error handling capabilities
npm run errorGET /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"
}
}