Skip to content

thinkful-ei22/Privet-client-DanKyle

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

69 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Privet!

Brief Description

Privet uses a Spaced Repetition algorithm to speed up your learning.

Spaced repetition is a method for efficient learning that has you practice concepts or skills over increasing periods of time. It's based on the notion of a "forgetting curve," or the idea that over time, if we don't actively use or reflect on something we know, our knowledge decays.

With Privet, we help you stay ahead of that moment of forgetting, and we do it efficiently.

As you answer words correctly, we'll show you those words less frequently. If you guess the wrong answer, we'll give you more opportunities to practice that word. Learning has never been easier!

Tech Stack

Front-end: React / Redux / CSS Grid [ repo ]

Back-end: [ repo ]

  • Express.js server
  • Node.js
  • Passport/JWT for authentication
  • MongoDB/Mongoose for data persistence
  • Mocha/Chai for testing

Deployed version

https://privet-hello.herokuapp.com/

Demo User Account

Username: privet
Password: learnrussian

App screenshots

Mainpage

Practice page

Progress page

API - Request & Response examples

POST /api/login

Example: POST https://example.com/api/login

Request body:

{
  "username": "JohnSmith",
  "password": "correct-horse-battery-staple"
}

[ more examples ]

POST /api/refresh

Example: POST https://example.com/api/refresh

Response body:

{
  "authToken": "A_VALID_JWT"
}

[ more examples ]

POST /api/users

Example: POST https://example.com/api/users

Request body:

{
  "name": "John Smith",
  "username": "JohnSmith",
  "password": "correct-horse-battery-staple"
}

Response body:

{
  "id": "MONGO_DOCUMENT_ID",
  "name": "John Smith",
  "username": "JohnSmith"
}

[ more examples ]

GET /api/users/progress

Example: https://example.com/api/users/progress

Response body:

{
  "questions": [
    {
      "russian": "Привет",
      "translit": "pree-vyEt",
      "english": "hello",
      "score": "1",
      "attempts": "1",
      "sessionScore": "1",
      "sessionAttempts": "1"
    },
    { "repeat": "for" },
    { "each": "word" }
  ]
}

[ more examples ]

PUT /api/users/reset

Example: PUT http://example.com/api/users/reset

Request body: empty

Response: status 200

[ more examples ]

GET /api/word

Example: http://example.com/api/word

Response body:

{
  "word": "Привет",
  "translit": "pree-vyEt"
}

[ more examples ]

POST /api/word

Example: POST http://example.com/api/word

Request body:

{
  "answer": "hello" //_user_input
}

Response body:

{
  "answer": "hello", //_answer_from_database
  "correct": "true"
}

[ more examples ]

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •