Skip to content

An interactive, language-learning web application - made using React.js.

Notifications You must be signed in to change notification settings

webbydevvy/LocalizR

Repository files navigation

LocalizR!

➡️

Synopsis

Welcome to my repo for the Makers Academy challenge: FINAL PROJECT WEEK! During this time I worked in a small team to design and develop a full-stack web application that takes the user on a language-learning journey.

Team Members :-

  • Joshua Holloway - GitHub
  • Hannah Lillis - GitHub
  • Kaari Strack (Me...)
  • Magyar-Hunor Tamas - GitHub
  • Jenny Arenas Marin - GitHub

Key Focus

Agile methodologies and XP values.

Stack

React, HTML, CSS (inline styled components), Node.js, Express.js, MongoDB, Mongoose, Jest, Enzyme, Cypress.

Implementation

  1. Clone this repository, and change into the correct directory.
$ git clone https://github.com/kaaristrack/LocalizR
$ cd Localizr

NOTE: Click HERE to download and install node.js if you do not have it.

Verify your installation by typing:

$ node -v
  1. Install the required packages and dependencies.
$ npm install
  1. Run the server, and begin!
$ npm run start-dev

User Stories

Minimum Viable Product:

  • As someone who travels often, so I can learn useful phrases, I want to be able to practice a language using this web application.

Features:

  • As a user, so I can play the game, I want to be able to enter my details and login.

  • As a user, so I can decide what to practice, I want to be able to select a language.

  • As a traveller, so I can learn a language, I want to be able to choose an answer to a question.

  • As a user, so I can keep track of my progress, I want to be able to see my score.

Extras

  • As a user, so I can play the game, I want to be able to sign up for an account.

  • As a user, so I can enjoy my results, I want to be able to receive feedback at the end of a quiz.

  • As a user, so I can keep my account secure and safe, I want to be able to sign out when I am finished.

  • As a user, so I can play a spontaneously generated scenario, I want to be able to click a button to chooses a quiz for me at random.

Expansion

We were unfortunately unable to complete the following user stories within our time constraints:

  • As a user, so I can improve my pronunciation, I want to be able to hear example audio.

  • As a user, so I can satisfy my competitiveness, I want to see a leaderboard.

TDD practices and 100% test coverage are something that we would have liked to maintain throughout our project sprint. Our MVP (on day 3) was fully tested, but we had several key features which we felt were essential requirements - so unfortunately we had to compromise our usual TDD practices to establish the core functionality of our build. We also didn't want to spend time re-testing the React components that we were merely re-using over and over again, e.g. buttons and images - but if we were to revisit the project in the future, or indeed find ourselves in a similar situation again, we would absolutely test to full coverage, and maybe delegate our tasks more efficiently so that we always have at least one testing micro-group.

About

An interactive, language-learning web application - made using React.js.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages