Skip to content

4bderrahmane/krino

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

113 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Interview Slot Manager

A monorepo containing the full Interview Slot Manager application, split into two independently deployable services:

Path Service Stack
client/ Web frontend React 19, TypeScript, Vite, Tailwind CSS, TanStack Query, axios, i18next
server/ REST API Spring Boot (Java 21), Spring Data JPA, Spring Security + OAuth2/JWT, MySQL (H2 for tests)

The client talks to the server's REST API. By default the client expects the API at http://localhost:8080/api (see client/src/shared/services/api.ts).

This repository was created by merging two previously separate repositories. The full commit history of both projects is preserved under the client/ and server/ paths.

Project structure

.
├── client/   # React + Vite frontend (served via nginx in production)
├── server/   # Spring Boot REST API
├── docker-compose.yml
├── .gitignore
└── README.md

Prerequisites

  • Node.js 18+ and npm (for the client)
  • JDK 21 (for the server — a Maven wrapper mvnw is included, so a local Maven install is optional)
  • A MySQL database for the server in non-test runs
  • Docker + Docker Compose (optional, to run everything in containers)

Running locally

Server (http://localhost:8080)

The server reads its configuration from server/src/main/resources/application.properties, which is intentionally not committed (it holds DB credentials and secrets). Create it before running — at minimum it needs your MySQL datasource and JWT settings.

cd server
./mvnw spring-boot:run        # Windows: mvnw.cmd spring-boot:run

Run the tests (uses an in-memory H2 database, no setup needed):

cd server
./mvnw test

Client (http://localhost:5173)

cd client
npm install
npm run dev        # start Vite dev server
npm run build      # type-check + production build into client/dist
npm run lint       # run ESLint

Running with Docker Compose

From the repository root:

docker compose up --build

This builds and starts both services:

The server still needs a reachable MySQL instance and an application.properties with the correct datasource. Adjust docker-compose.yml (and add a database service) to match your environment before relying on it in CI/production.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors