- Keep track of book information, including title, author, and library availability
- Search, add, and edit books
- Filter by starred and library availability
- Links to search Amazon, Goodreads, and a library catalog
- Export list as CSV
- Install Node.js
- Install MongoDB: If you're setting up MongoDB for the first time, make sure to follow the instructions under "Run MongoDB" for setting up the environment and creating the data directory.
- Create a Google developer project: Used for authentication. Under APIs, enable the Google+ API. Under Credentials, add an Oauth 2.0 client ID. Take note of generated the client ID and client secret (will be used in config.json). Add a redirect URL of the format
<arcaneum URL>/auth/google/callback
. - Set up the database:
For now only one user is supported and login is via Google auth.
mongod use books db.users.insert({ "email": "[email protected]" })
- Set up the config:
cp backend/src/config/config.example.json backend/src/config/config.json
. Update the fields in config.json. - Install node modules:
npm install
mongod
npm run build-all
npm run start-backend
mongod
npm run watch-backend
npm run build-frontend
- TypeScript
- Runs on Node; nodemon used to run with automatic restarts in development mode
- MongoDB with mongoose ODM
- Express for the REST API
- Passport for authentication with a Google OAuth 2.0 strategy