‌
‌
‌
‌
‌
‌
‌
‌
‌
‌
‌
‌
‌
‌

Taktekha

project.title
project.title
project.title
project.title
project.title
project.title
project.title
project.title
project.title
project.title
project.title
project.title
project.title
project.title
project.title
project.title
project.title
project.title
project.title
project.title
project.title
project.title
project.title
project.title
project.title
project.title
project.title
project.title
project.title
project.title
project.title
project.title
project.title
Start:2023-03-23
End:2023-04-18
Edit the project

Online Tic-tac-toe game

This project was a turning point for me. I was facing my fear of dealing with databases and then ... I got rid of it Tic-Tac-Toe is the most popular arcade game over the world. In the world of programming, it is also one of the first logical thinking that a programmer experiences. I decided to make it as a full game! Taktekha website game it considered as a full-stack website since I used firebase to manage backend and React for frontend capabilities. All ideas made from my own, all features and logical functionalities work perfectly💫. Let's clarify the features

Features

  • User authentication
    The User Auth provided the user making accounts that is the basic idea that push me for make this Website game. The user can't play without creating an account and The user can create an account by:
    • Google provider
    • Facebook provider (Not working due to the FB permissions!)
  • Friends list
    After creating an account now the user can send friends request to their friends and receive the requests.
  • Games Mechanism (Create & Join)
    Now the User can played! by:
    • Create a game
      The user can create a game with sharing the link to the user or can send invitation to the friend from their list if the user is Online
    • Join a game
      As create the game the user can joined the game by click on the shared link or accept the invitation from the friend
  • The Game Chat
    The Game chat is the way of connection in the game. Each game has its special private chat ended by end the game
  • Local play
    The User can play with friends even there is no internet. With PWA the user can use the website (Application) when there is no connection and open the local game and play with their friends
  • Games History
    The user can return back to any match they played See the game, or the chat

Drawbacks

Ahhh. After all these advantages that can take this game to the top, there is only one drawback.

The Client control all features!!

What this mean? This mean that all logic of the application on the client-side 😅 Database control such as deleting data, adding data or reading data is done through the client side code not from a Server
If you send a friend request to your friend (X). When (X) accepts the request, from the client side on their phone:

  • The Requested deleted from DB
  • X added themselve on your friends list
  • X added yourself on their friends list.

Such an example that you have given would be all other scenarios of DB control or even the storage (Firebase Storage) control

Learning outcomes:

  • Deal with Real-Time database (RTDB) in Firebase

Non related to front end

  • knowledge on the Token and its mechanism

I used firebase for backend and PWA to make the website install as a native application.

Usages

Reactjs
CSS
Firebase