A Portuguese Wordle clone — guess the 5-letter word in up to 6 tries.
Codle is a web remake of Termo / Wordle. You have 6 attempts to guess a hidden 5-letter Portuguese word. After each guess, each letter is highlighted to show how close you are:
- 🟩 Green — correct letter, correct position
- 🟨 Yellow — correct letter, wrong position
- ⬛ Gray — letter not in the word
New game, new word. Simple as that.
| Layer | Tech |
|---|---|
| Frontend | React + TypeScript |
| Backend | Django (Python) |
| Database | MongoDB |
| Infra | Docker / Docker Compose |
| CI/CD | GitHub Actions + Render |
- Docker and Docker Compose installed
- A MongoDB connection string
Create a .env file (or export the variables) before running anything:
# Your user/group ID — avoids file permission issues between host and container
UID=1000
GID=1000
# MongoDB connection string for the backend
MONGO_URI=mongodb+srv://<user>:<password>@<cluster>.mongodb.net/<db>Permission issues? If you can't edit files mounted from the container, run:
sudo chown -R $USER:$USER .
# Production mode
docker compose up
# Development mode (with hot reload)
# Run from the frontend or backend directory:
docker compose -f docker-compose.dev.yaml upThe app will be available at http://localhost:3000 (or whichever port is configured).
| # | Feature | Status |
|---|---|---|
| 1 | Keyboard input capture | ✅ |
| 2 | Per-letter feedback (correct / misplaced / absent) | ✅ |
| 3 | 6-attempt limit | ✅ |
| 4 | Win / loss detection | ✅ |
| 5 | New game with a random word | ✅ |
- React
useStateanduseEffect - TypeScript in a React project
- Django REST API
- Docker & Docker Compose (dev vs. prod configs)
- GitHub Actions for CI/CD
- Deploying to Render
MIT
