Skip to content

JStreet-Sensei/jstreet-frontend

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

J-Town Sensei

Postgres JWT Next JS NodeJS Socket.io TailwindCSS TypeScript ESLint Docker Jest

Node.js CI

J-TOWN is a casual Japanese learning app that enables intermediate language learners to enjoy their studies more. Users can engage in self-learning practices and compete with others through simple games.

The uniqueness of this app lies in its content. Learning casual Japanese is key to speaking more fluent Japanese, but it's challenging due to the lack of daily opportunities. J-TOWN provides quality materials and engaging simple games, allowing you to focus on becoming a natural Japanese speaker. You can also use this app as a refreshing break during your main studies.

For our tech stack, we use Next.js for the frontend. On the backend, we employ Django Rest Framework and PostgreSQL. We deploy using Railways with a Docker file. For testing, we utilize Jest and Playwright.

Initial setup

Create a folder

  mkdir jsensei

Clone backend

  git clone https://github.com/JStreet-Sensei/jstreet-backend

Clone frontend

  git clone https://github.com/JStreet-Sensei/jstreet-frontend

Example of folder structure:

     projects
     ├───jstreet-backend
     │   └───backend
     └───jstreet-frontend
         └───package.json

Copy .env.example to .env in each repository

Go to the backend directory

  cd nihongo-jouzu-backend

Run docker

  docker compose build

Start the server

  docker compose up

Installation

Install my-project with npm

  cd jstreet-frontend
  npm install

Screenshots

Main page Game page

Demo

https://j-street.up.railway.app/

API Reference

Socket connection

   /api/socket
Parameter Type Description
player Player Required. Player type with his data
lobby_id number Required. Id of the lobby

Create and manage connection with socket for play memo game

Connect with backend server

  GET/POST/PUT/DELETE /api/backend
Parameter Type Description
path string Required. Path with query args

Forward the fetch to backend server

User signup

  POST /api/signup
Parameter Type Description
username string Required. Username of the user
password string Required. Password of the user

add(num1, num2)

Takes two numbers and returns the sum.

Running Tests

To run tests, run the following command

  npm run test

About

Learning Japanese web app with slang words.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •