Coder Social home page Coder Social logo

hanguru's Introduction

Hanguru: Korean Language Learning Web Application

Introduction

Hanguru is an innovative web application designed to facilitate Korean language learning. It integrates various technologies, including AI and Google Cloud APIs, to offer a comprehensive and interactive learning experience.

Features

Vocab Page

  • Create and edit personalized Korean vocab sets using Google Translation API.

Exercise Page

  • Practice with generated questions and receive feedback.

Audio Recording

  • Generate text for reading practice and record your own voice for review.

Progress Checker

  • Track your daily login consistency.

User Account Management

  • Register, login, and manage your profile and settings.

Technologies Used

  • Backend: Node.js with Express framework, Passport.js for authentication.
  • Frontend: HTML, Chakra UI for responsive design.
  • Database: MongoDB and Google Cloud.
  • AI/ML & Language Processing: OpenAI and Google Cloud tools for Korean language processing.
  • Containerization: Docker for deployment consistency.

Environment Setup

Dependencies

  • Ensure Docker and MongoDB are installed.

Environment Variables

Create an .env file in the server directory with the following:

MONGO_URI=mongodb://mongo:27017/hanguru
SESSION_SECRET=<your_session_secret>
GOOGLE_API_KEY=<your_google_api_key>
OPENAI_API_KEY=<your_openai_api_key>
GCS_SERVICE_ACCOUNT=gcs-service-account.json
SPEECH_TO_TEXT_SERVICE_ACCOUNT=text-to-speech-service-account.json
GCS_BUCKET_NAME=hanguru-audio-bucket
PORT=8100

Google Cloud Setup

  • Obtain and configure the necessary service account JSON files

Docker Network

  • Create a network and connect all servers (GCP SQL Proxy, MongoDB, client, and server)

hanguru's People

Contributors

glendonc avatar

Stargazers

 avatar

Watchers

 avatar

hanguru's Issues

Contextual Help and Tips

Implement contextual tips for language learners by analyzing their input and performance using KoBERT

Progress Checker - Login Streak

  • Display the highest consecutive login count
  • Keep track of total days logged in
  • User should be able to see streak by switching through the months

CI/CD

  • Choose CI/CD Tool
  • Figure out how pipeline will integrate into project
  • Develop continuous deployment strategy

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.