Skip to content
Nahom Zewdu edited this page Oct 11, 2024 · 4 revisions

Welcome to the Online-Multiplayer-Drawing-Game wiki!

Project Goal

  • Multiplayer drawing game where one player draws a word, and other players try to guess the word. It will include real-time drawing, guessing, scoring, and chat, with user accounts and leaderboards.

User Stories

  1. User Accounts:
  • As a player, I want to create an account to track my wins, losses, and stats.
  1. Game Rooms:
  • As a player, I want to join a game room and play with friends or random people.
  1. Drawing & Guessing:
  • As a drawer, I want to select a word and draw it while other players try to guess.
  • As a guesser, I want to see the drawing in real time and submit guesses to win points.
  1. Leaderboards:
  • As a player, I want to see a leaderboard after each round, so I know who’s winning.
  • As a player, I want to see the leaderboard across all games to know the top players.

Tech Stack:

Backend (Django + Django Rest Framework):

  • Language: Python
  • Web Framework: Django
  • API: Django REST Framework for the API
  • Real-Time: Django Channels for WebSockets
  • Auth: Django's default auth system or JWT-based authentication
  • Database: PostgreSQL
  • Testing: Pytest for backend tests

Frontend (React):

Language: JavaScript Framework: React State Management: React’s built-in Context API or Redux (if the app gets bigger) ** Real-Time**: WebSockets API for real-time communication Styling: Tailwind CSS Testing: Jest for frontend tests

Architecture

/multiplayer-drawing-game

|-- /backend

|-- /frontend

|-- .gitignore

Clone this wiki locally