Mf-ff99 / SRS-client

SRS Spanish learning application, client side!

Home Page:srs-client.vercel.app

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

LearnSpanish!

Summary

Bootstrapped with create-react-app and completed using JavaScript, vanilla CSS, JSX and ReactJS.

LearnSpanish! is a language learning application designed for teaching beginner Spanish learners a handful of Spanish words and phrases. LearnSpanish! features a Spaced-Repetition algorithm on the back-end to help users stay caught up on their studies without forgetting any new words they have learned. The application features 10 spanish words and is built to allow for the application to be expanded upon.

In this project, the hardest part was building out the Express server on the back-end to accomadate the SRS system. Two endpoints handle the Language requests to determine the user's current score and return the next word for the user to study.

Screenshots

Login Page

image

Sign-up Page

image

Dashboard

image

Practice page

image

Next word page

image

Tech-stack and Testing

React.js, JavaScript, vanilla css, PostgreSQL, SQL, Node.js, Cypress IO, Mocha, Chai

Front end testing: This project uses Cypress IO for integration testing using the Chrome browser.

Back end testing: Mocha and Chai were used to test each endpoint and knex-services, each endpoint has at least one test for the 'happy path', and one test for the 'unhappy path'

The Back-end

SRS API

The back-end is written with Express.js and utilizes a RESTful state to satisfy CRUD requests.

More extensive API documentation is available at the API github repo.

API Github Repo

Other odds and ends

If you wish to see what the application can do on your own machine, or simply tinker around with the code, follow the directions below.

  • clone the repo to an empty folder
  • then run the following commands in the cmd console
npm i
npm run start

About

SRS Spanish learning application, client side!

srs-client.vercel.app


Languages

Language:JavaScript 86.6%Language:CSS 10.7%Language:HTML 2.6%