Browser-bazirana edukativna igrica za vežbanje konverzije brojnih sistema (binarni, decimalni, heksadecimalni, itd.). Igrači se takmiče u real-time multiplayer lobijima. Edukativna i zabavna za sve uzraste! (3-103)
Frontend: React 19 + TypeScript, Bootstrap 5, WebSockets
Backend: Node.js + Express + TypeScript, WebSocket, Neo4j, Redis
Autentifikacija: JWT tokeni
Potrebno je da imate instalirano:
- Node.js (v16 ili noviji)
- npm (v8 ili noviji)
git clone <repository-url>
cd BaseMastercd server
npm installcd ../client/app
npm installKreirajte config.env fajl u server/app/ direktorijumu:
# Server
SERVER_PORT=1738
# Neo4j
NEO4J_URI=bolt://localhost:7687
NEO4J_USERNAME=neo4j
NEO4J_PASSWORD=vasa_neo4j_lozinka
NEO4J_DATABASE=neo4j
# Redis
REDIS_HOST=localhost
REDIS_PORT=6379
REDIS_PASSWORD=vasa_redis_lozinka
# JWT Secrets
JWT_SECRET=vas_access_token_secret
JWT_REFRESH=vas_refresh_token_secretNapomena: Generišite sigurne JWT secret-e pomoću openssl rand -base64 32
Ako promenite backend port, ažurirajte baseURL u client/app/src/utils/axiosInstance.ts:
const instance = axios.create({
baseURL: 'http://127.0.0.1:1738',
});cd server
npm run devServer će se pokrenuti na portu 1738. Očekivani output:
Server running on port 1738
Redis connected
Neo4j connection successful
U novom terminalu:
cd client/app
npm startAplikacija će se otvoriti na http://localhost:3000
Server će automatski inicijalizovati Neo4j strukturu i pri svakom narednom pokretanju osigurava konzistentnost strukture.
BaseMaster/
├── client/app/ # React frontend
│ ├── src/
│ │ ├── components/ # React komponente
│ │ ├── utils/ # Context-i i utility-ji
│ │ └── shared_modules/ # Deljeni enum-i
│ └── package.json
│
└── server/ # Express backend
├── app/
│ ├── routers/ # API endpoint-i
│ ├── graph/ # Neo4j repository sloj
│ ├── utils/ # Servisi
│ ├── config/ # Konfiguracija
│ └── index.ts # Server entry point
└── package.json
- Classic: Konverzija iz decimalne u ciljnu bazu
- Reverse: Konverzija iz ciljne baze u decimalnu
- Chaos: Random baze za svaku rundu
- Layman: Početni nivo
- Chill Guy: Srednji nivo
- ELFAK Enjoyer: Napredni nivo
- Based Master: Ekspertski nivo
Backend se ne pokreće:
- Proverite
config.envkredencijale - Proverite da je port 1738 dostupan
- Proverite konekciju sa Neo4j i Redis instance
Frontend ne može da se konektuje:
- Proverite da je backend pokrenut
- Proverite baseURL u
axiosInstance.ts
Problemi sa bazom:
- Proverite Neo4j i Redis korisničke podatke u
config.env - Proverite da su hostovane instance dostupne