Commit Graph

33 Commits

Author SHA1 Message Date
Moon Patel 7b1503d384 some changs 2023-09-13 14:28:58 +05:30
Moon Patel 0bd078438f health check route added 2023-09-13 13:50:15 +05:30
Moon Patel e98c50d25d fixed stale state closure bug by using useRef() in ChessGameContextProvider 2023-07-28 04:24:16 +05:30
Moon Patel bd13e2b129 bug fixes 2023-07-25 18:52:36 +05:30
Moon Patel 156d4e6f2c Authentication UX improved. 2023-07-23 18:46:31 +05:30
Moon Patel 81ff9e31a0 Authentication logic changed
JWT is now stored in cookie instead of localStorage
changed APIs:
-> /api/auth/login
-> /api/auth/signup
new APIs:
-> /api/auth/logout
2023-07-23 13:20:55 +05:30
Moon Patel b2af52f2c6 .env.example added 2023-07-15 16:43:37 +05:30
Moon Patel 78a3187e9a feature: Profile page update user info 2023-07-14 19:53:58 +05:30
Moon Patel e8775ff8e1 feature: Add Friends
Now other user can be added as friends in Settings > Friends
2023-07-13 23:12:01 +05:30
Moon Patel 8f39b29377 New feature added: Games automatically saved in database after game
ends in pgn format
2023-07-07 19:10:48 +05:30
Moon Patel 0abd8e0660 hardcoded email id moved to .env file 2023-07-06 23:51:36 +05:30
Moon Patel 5786795e58 Changes in this commit:
- New model added for games played
- Game model ref added to User model
- New APIs created to create and get games
2023-07-06 23:47:20 +05:30
Moon Patel 3f22a674e7 Implemented the challenge accept and decline buttons
TODO: Delete room when the challenged user declines the challenge
2023-07-06 23:07:15 +05:30
Moon Patel 882837448c New apis added and old apis improved 2023-07-06 19:28:19 +05:30
Moon Patel 189f35a232 Feature added: Exit the game when opponent resigns 2023-07-05 21:44:41 +05:30
Moon Patel 5dbf0409f6 new API endpoint added
- DELETE /api/user/:username/challenges/:challengeID -> when user accepts or declines a challenge
2023-07-04 23:49:09 +05:30
Moon Patel aa6e463b60 Game state persistency implemented. Game state is
now saved on page refresh.
The game state is stored on the server and when the user refreshes
the page the game state is fetched from the server on socket
re-connection

Next step:
stop user from making any move when the use is viewing past moves
2023-07-04 16:59:20 +05:30
Moon Patel 5f450e92fe Adding constants 2023-07-03 22:54:43 +05:30
Moon Patel 8c99021395 Chess game logic move to chess-game-context.jsx
Improves code clarity as logic is handled by context provider and
application is handled by the component itself
2023-07-03 22:37:02 +05:30
Moon Patel f7bb1e89cb Fixed: Incorrect friends list shown 2023-07-03 17:02:25 +05:30
Moon Patel 4853e5edd9 THIS IS A MAJOR MILESTONE
Socket connection re-implemented. Everything is working fine now.
All thats left to do is to make the app robust and handle some edge cases.
TODO
- The friends list is maybe hardcoded or whatever I dont know, but the problem is
  it shows the same username no matter who the signed in user is. I need to fix that.
- Whenever the pawn reaches to tha last square for promotion an 'Invalid move' error is
  thrown by the Chess class. Need to fix that too.
- Need to disable the chessboard (so user cannot make any moves) until the opponent has joined the game.
- Set timers for the game.
- Need to show the loading states in various places in the app.
- Improve the backend such that a user cannot create more than one room at a time.
- Remove hardcoded values from various places.
- Make the app responsive. The UI is good on desktop but it is very bad on mobile.
- Add a feature to search and add friends.
- Destroying the rooms when the match ends and set timers for auto destruction after a certain time.
- Need some logic to save games in the history.
- Add some tests.
2023-07-03 01:12:47 +05:30
Moon Patel 40acca7dd1 Challenging and room creating working now 2023-07-02 19:21:36 +05:30
Moon Patel dd5f3069d0 JWT auth token expiresIn option removed 2023-07-02 19:07:35 +05:30
Moon Patel 490bd539fe new api endpoint create - /api/user/:username/challenges
returns a challenges sent to the current user by other users
2023-07-02 19:03:57 +05:30
Moon Patel cfd207e41f minor import changes 2023-07-02 17:56:28 +05:30
Moon Patel b026837184 TODO list for apis added 2023-07-02 16:10:15 +05:30
Moon Patel 6869a87cfe room creation and joining logic re-implemented 2023-07-02 15:53:35 +05:30
Moon Patel ea116e7f6a create room api added 2023-07-02 15:49:30 +05:30
Moon Patel bacc794ec5 room creation and join logic improved 2023-07-02 14:50:35 +05:30
Moon Patel 0a06890b81 socket connection established and chess logic imported from old codebase 2023-06-29 02:03:06 +05:30
Moon Patel 8e91427c1c new api /api/user/:username/friends - get friends list 2023-06-27 20:31:47 +05:30
Moon Patel 02b302e2c8 authentication implemented 2023-06-27 18:28:24 +05:30
Moon Patel b3fd3ade5c backend integration 2023-06-27 15:44:29 +05:30