Skip to content

Trying to build a language learning app to learn more about software engineering!

Notifications You must be signed in to change notification settings

zhanyang01/Fun-Language-5622

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Fun-Language-5622

User Stories:

  1. As a user, I wish to learn a new language and hence I would like to be able to select a language that I want to learn.

  2. As a learner, I would like to learn a new language of interest at a pace that I am comfortable in. I would hence prefer to choose a level of difficulty (basic, intermediate and advanced) for the language course that I am enrolled in, depending on my confidence level.

  3. As a learner, I wish to test my level of understanding for my enrolled language through proficiency assessments. I would also like to try out assessments for different levels to gauge my current competency for the enrolled language.

  4. As a user, I would feel motivated to continue using the application if I can get incentives (achievements) during the course of my learning, such as completing courses and passing assessments.

Scope of Project:

The Fun Language App allows users to have a fun experience learning a new language of interest.

Features of Fun Language App:

  • Authentication (login and registration)

  • Homepage, Choose Language Page and Landing Page

  • Profile page and associated features (update & delete account, upload profile picture)

  • English Course and levels of difficulty

  • Gamification (progress component and achievement system)

  • Interactive interface

  • Proficiency assessments

  • Self-practice components (oral speaking page and practice assessments)

  • Email verification and forget password features

Tech Stack:

  • MongoDB (Document Database)

  • Express.js (Server-side Web Framework)

  • React.js (Client-side JavaScript Framework)

  • Node.js (JavaScript Server Platform)

Other Supporting Tools:

  • Cloudinary (for uploading and storing profile picture)

  • Vercel (app deployment)

  • Chakra UI (app design)

  • Nodemailer (for sending email to user)

  • Jest (unit testing)

  • Cypress (end to end testing and integration testing)

  • Figma (prototyping landing page)

Link to access Fun Language App:

About

Trying to build a language learning app to learn more about software engineering!

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published