This application helps to solve the problem of learning new terminology by using a spaced-repetition algorithm learning technique that incorporates increasing intervals of time between subsequent review of previously learned material in order to exploit the psychological spacing effect. The application allows individual users to create their own account and tracks their progress through the content. Also included is a reset button to allow the user to start back at the beginning of the content at any time and reset their progress.
Deployed Version: https://chasen-mitch-spacedrep-client.herokuapp.com
Client-side repo: https://github.com/thinkful-ei22/chasen-mitch-spacedRep-client
Server-side repo: https://github.com/thinkful-ei22/chasen-mitch-spacedRep-server
- ReactJs, Redux, CSS
- NodeJs, JWT auth, Express
- Mongo/Mongoose
- Heroku (client & api)
- Managed through Trello
- Sublime3, VS Code
- Postman
- MongoDB
- Heroku (client & api)
- Detailed progress summary
- Leaderboard with top scoring users
- Loyalty rewards for high Sscores
This route to create a user
Params:
- firstName: string
- username: string
- password: string
- email: string
Request
{
"firstName": string,
"username": string,
"password": string,
"email": string
}
Response
201 on success, 422 on error
This route is for logging in and retrieving auth token.
This route is for refreshing auth token.
This route gets question at the head of the list.
Params:
- user.id: string
Request
{
"user.id": string
}
Response
{
"question": "_________ is a method of solving problems that involves a function calling itself.",
"answer": "recursion",
"explanation": "In each call, it breaks down the problem into smaller and smaller subproblems until you get to a small enough problem that it can be solved trivially. You can think of it as the process of defining a problem (or the solution to a problem) in terms of (a simpler version of) itself. It may be applied to several data structures and algorithms to solve problems, but by itself is not a data structure or an algorithm, it is a concept.",
"id": "5b9bc7d05779c62defd5b78f"
}
This route is to retrieve all questions in the list.
Params:
- user.id: string
Request
{
"user.id": string
}
Response
[
{
"question": "_________ is a method of solving problems that involves a function calling itself.",
"answer": "recursion",
"explanation": "In each call, it breaks down the problem into smaller and smaller subproblems until you get to a small enough problem that it can be solved trivially. You can think of it as the process of defining a problem (or the solution to a problem) in terms of (a simpler version of) itself. It may be applied to several data structures and algorithms to solve problems, but by itself is not a data structure or an algorithm, it is a concept.",
"id": "5b9bc7d05779c62defd5b78f"
}
]
This route is to post answers to questions.
Params:
- user.id: string
- guess: string
Request
{
"user.id": string,
"guess": string
}
Response
Returns 200 on success, returns feedback based on correct/incorrect answer
This route resets the answers for the entire set for the logged in user.
Params:
- user.id: string
Request
{
"user.id": string
}
Response
Returns 200 on success