- Backend: Node.js/Express/REST
- Javascript Frontend: Node.js/Bootstrap Material/Jade
- Database: sqlite3, Sequelize, (Ruby for initialization)
1. Install dependencies:
Make sure you have Node JS
and npm
installed. If you want to re-create the DB you will also need Ruby
installed.
After that open Terminal at the project folder and hit npm install
2. Load the Database:
The database related files are all in the db
folder. It has the challenege CSV
dump as well.
The first step is to move the csv
file contents into sqlite3
database. It is done using a simple Ruby
script. I am
not much of an expert on ruby and thus wrote some simple code. Anyways
cd db/seed
and type ruby seed-sqlite.rb
This generates a plural-sight.sqlite3
database file in the db
folder.
3. Run in development mode:
Navigate back to the project root
folder and type:
npm start
and browse http://localhost:3000/
on any modern browser.
To check the api endpoints either use POSTMAN
or INSOMNIA
.
- GET:
/api/question
- Gets all the questions form the database - GET:
/api/question/:id
- Gets the question specified by theid
- POST:
api/question
- Creates a new question & adds it to the database - PUT:
/api/question/:id
- Updates an existing question with the specifiedid
Example Body for POST & PUT calls:
{
"question" : "What is 400 * 4 ?",
"answer" : "1600",
"distractors" : "8000, 80"
}