https://github.com/fuad1502/kibi
KIBI ⌨️ is a simple typing test web application. Built with React ⚛️ and Spring Boot 🍃. KIBI ⌨️ is live on kibi.fuadismail.com.
https://github.com/fuad1502/kibi
react typingspeedtest
Last synced: 3 months ago
JSON representation
KIBI ⌨️ is a simple typing test web application. Built with React ⚛️ and Spring Boot 🍃. KIBI ⌨️ is live on kibi.fuadismail.com.
- Host: GitHub
- URL: https://github.com/fuad1502/kibi
- Owner: fuad1502
- Created: 2023-10-12T14:06:14.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2024-03-08T08:39:52.000Z (over 2 years ago)
- Last Synced: 2025-03-16T00:12:40.493Z (over 1 year ago)
- Topics: react, typingspeedtest
- Language: JavaScript
- Homepage: http://kibi.fuadismail.com
- Size: 23.9 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# KIBI ⌨️
**KIBI** ⌨️ is a simple typing test web application. Built with [**React**](https://react.dev/) ⚛️ and [**Spring Boot**](https://spring.io/projects/spring-boot) 🍃. **KIBI** ⌨️ is live on [kibi.fuadismail.com](http://kibi.fuadismail.com).

This repository contains the front-end source. Refer to [kibi-spring](https://github.com/fuad1502/kibi-spring) for the backend.
## Words dataset
The words are randomly selected from the [English Word Frequency](https://www.kaggle.com/datasets/rtatman/english-word-frequency) dataset weighted by it's frequency.
## Build & Deploy
### Prerequisites
- [**Podman**]() 🦭 / [**Docker**]() 🐋
The following steps assumes you're using **Podman**. If you want to use **Docker** instead, simply change every `docker` keyword with `podman`.
### Steps
```
git clone https://github.com/fuad1502/kibi.git
git clone https://github.com/fuad1502/kibi-spring.git
```
Edit `REACT_APP_API_ADDR` in the `.env` file inside `kibi/` according to the URL where you want to deploy your backend. In the following example, we assume you deploy it to `http://localhost:8080`.
Next, set the following environment variables according to your deployment environment. For example, in Linux:
```sh
export KIBI_IP_ADDR=127.0.0.1
export KIBI_PORT=80
export KIBI_HOSTNAME=http://localhost
export KIBISPRING_IP_ADDR=127.0.0.1
export KIBISPRING_PORT=8080
```
```sh
cd kibi
podman build -t kibi .
podman run -d -p $KIBI_IP_ADDR:$KIBI_PORT:3000 kibi
cd ../kibi-spring
podman build -t kibi-spring .
podman run -d -p $KIBISPRING_IP_ADDR:$KIBISPRING_PORT:8080 -e CORS_ORIGIN=$KIBI_HOSTNAME kibi-spring
```