Welcome to the Diplicity React project! This is a web version of the classic Diplomacy board game. This project is maintained voluntarily by members of the online Diplomacy board game community.
We are looking for developers to get involved with the project. If you want to contribute, come say hi on the Diplomacy Discord, and see DEVELOPER.md for the contributor setup guide.
Diplicity React is a React-based web application which integrates with a Django REST API to manage game state, player actions, and other game-related functionalities.
- Live Deployment: Diplicity
See DEVELOPER.md for the full setup guide, including how to create a local user and access the admin panel.
Developing using Docker is the recommended way to run the application.
Download and install Docker Desktop from here.
No secrets or .env file are needed to run the app locally. Optional features (Google sign-in, push notifications, error tracking) need real credentials — see When you need more keys.
Open a terminal window and run the following command to build the entire project:
docker compose up service web db worker phase-resolverNote The terminal window will show logs from all of the containers which is useful for debugging.
The experience will now be available in your browser at http://localhost:5173/.
To log in you first need a local user — the app has no seeded account and your diplicity.com account does not exist locally. Create one with:
docker compose exec service python manage.py create_test_userThen log in with test@example.com / password. See DEVELOPER.md for creating an admin user and manual testing.
The Django backend includes a comprehensive test suite.
To run all backend tests:
docker compose run --rm service python3 -m pytest -vTo run a specific test file:
docker compose run --rm service python3 -m pytest game/tests/test_game_create.py -vTo run a specific test function:
docker compose run --rm service python3 -m pytest game/tests/test_game_create.py::test_create_game_success -v