For information about our approach and process, check out our wiki.
The project is currently live. To take a look at it, please visit this webpage.
MVP user stories
As a User,
So that I can track books I want to read,
I want to be able to add books to a list.
As a User,
So that I can choose the next book I want to read,
I want to be able to see the books on my list.
As a User,
So that I can track books I have read,s
I want to be able to mark books in my list as 'Read'.
As a User,
So I can keep track of the books I'm currently reading,
I want to mark books as 'Reading'.
As a User,
To keep my book list tidy,
I want to delete books I don't want on my list.
As a User,
So I have a personal list,
I want to be able to make an account and login.
- For the backend, we decided to use Node.js to run our server side applications. Express.js is used for our routing framework. Postgresql was used as our database manager. Mockup docs were created using Sketch.
To setup the project:
- Install Node using Homebrew (macOS/Linux) or via the Node.js website! (Windows)
- Navigate to the local project directory and install dependencies:
npm install
npm install -g --save sequelize-cli
- Tests are run using the Jest testing suite. To run tests:
Start the server in the test environment:
NODE_ENV=test npm start
then run
npm test
To run tests with a coverage report
yarn test --coverage
- Create a role for the test database. Connect to psql and run the following commands:
CREATE ROLE noodle_eater WITH LOGIN PASSWORD 'r@m3n!';
ALTER ROLE noodle_eater CREATEDB;
- Create a database plus a test user to make changes to it using the following PSQL commands:
sequelize db:create
- To update the databases, you'll need to install sequelize
npm install -g sequelize-cli
and then access sequelize JS package via the command line:
sequelize db:migrate
sequelize db:migrate --env test
- To run the project in the developer environment:
npm start
or after setting it to the test environment:
NODE_ENV=development npm start