App is currently in construction.
Inkling
, one player draws a word or phrase while others race against the clock to guess what it is.
βββ π.husky # Git hooks for pre-commit checks
βββ πbackend # Backend logic with API, models, services, and configurations
β βββ πsrc # Source code for the backend
β | βββ πconfig # Configuration for MongoDB, Redis, and Socket.IO
β | βββ πmodels # MongoDB models for User and Game
β | βββ πroutes # API routes (Auth) with controllers
β | βββ πutils # Utility functions like JWT and hashing
β | βββ πservices # Service logic (e.g., game services)
β | βββ server.js # Server entry point
β | βββ app.js # Creating an express instance
β βββ Dockerfile # Docker configuration
β βββ knip.config.js # Knip configurations
β βββ docker-compose.yml # Multi-container Docker setup
βββ πfrontend # Frontend code using Vite + React + Typescript with Tailwind CSS
β βββ π@ # ShadcnUI components and utility libraries
β βββ πpublic # Public assets
β βββ πsrc # Source code for frontend app
β | βββ πcontext # React contexts (Auth, Canvas, Game)
β | βββ πhooks # Custom hooks for API requests and sockets
β | βββ πpages # Application pages like Account and Game
β | βββ πutils # Helper functions (e.g., date and drawing utilities)
β βββ tailwind.config.js # Tailwind CSS configuration
β βββ tsconfig.json # TypeScript configuration
β βββ vite.config.ts # Vite configuration
βββ .gitignore # Files to be ignored by Git
git clone
cd Inkling
npm install
Frontend
cd frontend
npm install
touch .env
VITE_SERVER_URL=http://localhost:3000
npm run dev
Backend (with docker)
cd backend
docker pull immortalnova/inkling
touch .env
NODE_ENV=development
MONGO_URL=mongodb+srv://.....
openssl rand -base64 32
JWT_SECRET=secret_key.....
REDIS_PASSWORD=password.....
REDIS_HOST=redis-something.....redis-cloud.com
REDIS_PORT=xxxxx
CLIENT_URL=http://localhost:5173
docker run --env-file ./.env -p 3000:3000 immortalnova/inkling
Backend (without docker)
cd backend
npm install
touch .env
NODE_ENV=development
MONGO_URL=mongodb+srv://.....
openssl rand -base64 32
JWT_SECRET=secret_key.....
REDIS_PASSWORD=password.....
REDIS_HOST=redis-something.....redis-cloud.com
REDIS_PORT=xxxxx
CLIENT_URL=http://localhost:5173
npm run dev