Draw.it is a real-time multiplayer drawing and guessing game built with C# (.NET) on the backend and React on the frontend. Players can create or join rooms, take turns drawing a word they’re assigned, and compete by guessing what others are drawing. It’s designed as a fun entertainment platform for groups of friends, students, or colleagues.
We are developing Draw.it in three main stages:
- Word list – basic pool of words for the game
- Room creation & joining – players can create rooms and invite others
- Chat system – real-time messaging between players
- Drawing board – canvas where players can draw
- Turn-based drawing – each player gets a turn to draw while others guess
- Round results – points awarded after each round
- Game results – scoreboard with overall winner
- Categories – words grouped by theme (e.g., animals, objects, actions)
-
Customizations – player avatars, brush settings, themes -
Voting system – players can vote for the best drawing - Extra features – improved UI/UX, more categories, real-time player list with scores
- AI - optional extra player which tries to guess the drawing
First of all, check the 📚 Coding Conventions category in the Discussions section to follow best practices. Then:
- Create a new branch
- Make some changes
- Check your code locally with linters:
- For frontend (from
draw.it.clientdirectory):npm run lint npm run lint:fix
- For backend (from
Draw.it.Serverdirectory):or just: (is enough for CI linting)dotnet format --severity info --verify-no-changes dotnet format --severity info
dotnet format --verify-no-changes dotnet format
- For frontend (from
- Commit changes and push to the remote
- Create a Pull Request
- On the GitHub website, create a new PR for your branch.
- Wait until all CI tests are passed.
- Request feedback from the team and collaborate to improve your changes.
- Merge the PR into main.
- When you are ready to merge, ensure that the PR is up to date with the
mainbranch and there are no conflicts.- Otherwise, follow the guide below to update your PR.
- Once again, wait until all CI tests are passed and your PR gets approved.
- Press "Merge pull request" to merge all your commits into the
mainbranch.
- When you are ready to merge, ensure that the PR is up to date with the
- Update your local repository and merge the main
- Fetch the latest changes:
git fetch origin
- Merge the
mainbranch into your PR branch:git switch <your-pr-branch-name> git merge origin/main
- *If there are merge conflicts, proceed to the next step
- Fetch the latest changes:
- Resolve any merge conflicts
- Open the conflicting files and make the necessary changes (the easiest way is to use your IDE's built-in tools).
- Run linter tests locally to ensure that your PR will pass CI tests.
- Commit the changes.
- Push the updated PR branch to the remote
Team null – Vilnius University, Software Engineering course project.