Flashcard app enhanced with a spaced repetition algorithm.
Each time a question is answered, you rate its difficulty. A Priority Queue-based algorithm is then applied that will show that card with more or less frequency based on how difficult it has been rated in the the past.
- Install npm, node, postgresql, and sequalize
- In root project directory, run
npm i
to initialize server. - Run
cd client && npm i
to initialize client. - Run
npx sequelize db:create
to create database. - Run
npx sequelize db:migrate
to create database tables.
Start Scripts:
npm run dev
: start both server and client
npm run server
: start server only
npm run client
: start client only
Backend Technologies:
- Express
- Sequelize
- Postgres
Frontend Technologies:
- Create React App
- React Router
- React Bootstrap