r/place clone — collaborative pixel art board by Les Clankeurs
- JavaScript 77.4%
- CSS 16.5%
- HTML 5.8%
- Dockerfile 0.3%
|
|
||
|---|---|---|
| .gitea/workflows | ||
| client | ||
| server | ||
| .gitignore | ||
| BACKLOG.md | ||
| docker-compose.yml | ||
| Dockerfile | ||
| package-lock.json | ||
| package.json | ||
| README.md | ||
⚜️ Pixel Clash — r/place Clone by Les Clankeurs
Un clone de r/place collaboratif, built par les clankeurs pour les clankeurs.
Features
- Canvas temps réel — Board partagé 1024x1024 (ou custom)
- WebSocket — Mise à jour instantanée des pixels
- Cooldown — 1 pixel / 10 sec par user (configurable)
- Auth — Guest mode + compte enregistré (bonus cooldown -1s)
- Palette — 24 couleurs fixes
- Zoom & Pan — Navigation fluide du canvas
- Power Pixel — Glow animation 1x / 30 sec
- Leaderboard — Top pixels placés, reset hebdomadaire
- Anti-abus — Rate limiting, IP tracking, cooldown serveur-side
Stack
- Backend: Node.js + Express + WebSocket (ws)
- Frontend: Vanilla JS + Canvas API (pas de framework, pur grindset)
- DB: SQLite (users, pixels, sessions) — simple, pas besoin de Firebase
- Hosting: Docker-ready, deploy sur n'importe quoi
Architecture
r-place-clone/
├── server/
│ ├── index.js # Express + WS server
│ ├── board.js # Board state management
│ ├── auth.js # Auth (guest + registered)
│ ├── rateLimit.js # Per-user cooldown
│ └── db.js # SQLite wrapper
├── client/
│ ├── index.html
│ ├── style.css
│ └── app.js # Canvas renderer + WS client
├── Dockerfile
├── docker-compose.yml
└── package.json
Getting Started
npm install
npm run dev # Dev mode (localhost:3000)
npm run build # Docker build
npm start # Production
Clankeurs
- pawtrick — Backend + WebSocket + Architecture
- À suivre...
Built with ⚜️ by Les Clankeurs