Skip to content

kyolf/Turkish-SK

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

108 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Yinelemek

by Sonja Duric, Kyle Szeto

Description

A Web App that uses a spaced repitition algorithm in order to help you learn Turkish.

Our app is deployed at http://yinelemek.herokuapp.com/.

Spaced Repitition Algorithm Explained

If you correctly answered the vocab, the importance value will be multiplied by 2 and move importance value spaces from the start point.

If you incorrectly answered the vocab, the importance value will be reset to 1 and it will show up after you finish answering the current word.

Technology Used

FrontEnd: HTML, CSS, Javascript, React, Redux
BackEnd: NodeJs, Express, Passport, MongoDB, Mongoose
Deployment: Mlab, Heroku, Travis

Things to Look Into in the Future

  • Making it visually appealing
  • Reset Question/Score Feature

Description Of API

API Calls Done In Client

Admin API Calls Done in Postman

If you don't have Postman, here's a link to download Postman: https://www.getpostman.com/

Getting started

First, fork the repo on Github to your own account

Clone the repo

$ git clone https://github.com/YOUR_USERNAME_HERE/spaced-repetition-starter
$ cd spaced-repetition-starter
$ npm install

You can run it locally now with npm run dev, but the Google OAuth stuff won't work without your own credentials.

Get Google OAuth Credentials

Visit https://console.developers.google.com

  • Navigate to Library

  • Under 'Social APIs', Click 'Google+ API'

  • Click 'Enable' at the top (if it isn't already)

  • Navigate to Credentials

  • It may require you to configure OAuth consent screen.

  • Click 'Create credentials'

  • Choose 'OAuth Client ID'

  • Choose 'Web application'

  • Add http://localhost:8080 to Authorized JavaScript origins

  • Add http://localhost:8080/api/auth/google/callback to Authorized redirect URIs

  • Click 'Create'

You should get a Client ID and Secret.

Back in your project locally, create an secret.js file in the /server directory:

(Use the client ID and secret we just got from Google)

module.exports = {
  CLIENT_ID: 'yourId123.apps.googleusercontent.com',
  CLIENT_SECRET: 'yoursecret',
  DATABASE_URL: 'mongodb://<dbuser>:<dbpassword>@ds035664.mlab.com:12345/example'
}

This file is ignored by git because it is in your .gitignore. Never commit or push 'secret.js', the client id and secret need to be kept safe like a password.

Local Development

  • Open a new terminal and change to directory you git clone this repo
  • Make sure MongoDB is installed
  • Run mongod in the terminal => to run the mongodb server
  • Open a new terminal and change to directory you git clone this repo
  • Run npm run dev in terminal

ScreenShots

Introductory Page

When you go to our website, you will be directed to our Introductory Page
Intro

Question Page

When you are logged in from Google, you will be directed to our Question Page
Question

Answer Correctly

If you answer the question correctly, it will look like the page below.
Correct

Answer Incorrectly

If you answer the question incorrectly, it will look like the page below.
Incorrect

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • CSS 72.0%
  • JavaScript 27.5%
  • HTML 0.5%