Assembly
Product Overview
Assembly is a social platform for gamers to play games and connect with new players for any game of their choice. Users can browse a list of games and add them to the favorites pages. Users can also make posts about a game to the home page feed in search of other players to connect with other gamers. When users find gamers with similar interests they can add one another to their friends list. A final feature is that users will be able to message other users and discuss a variety of games that they like, or any patches/updates of any specific game of their choice. This makes it easier to find and connect with friends and also communicate with other players with similar interests.
Summary
Assembly starts users at the landing page of the application where they are given the option to sign up and make an account or login, once a user makes an account they’ll be logged in, and directed to the home page. When at the home page the user will be greeted with their username and an optional profile picture to put an img into, and 4 routes to goto. Games, Friends, Favorites and LogOut. The “Games” displays multiple games in a carousel, from each platform. They can also add games to their personal favorites which get added to the favorites page. The “FavoritesPage” displays a list of games which the user has favored. The “Friends” page displays how many friends a user has online, or offline and how many requests they have. And lastly the “LogOut” page takes you to the landing page. At the home page Users can also make posts about what games they would like to connect with other players on. If a user clicks connect then they are taken to that users account and given the option to add them to their friends list. Assembly also provides a real time chat feature between users.
The Problem
Assembly solves the problem of connecting and finding other players to play games with. Many gamers have trouble finding people to play with. As time goes on the gaming experience has reportedly taken a hit and gamers have reported a loss in satisfaction from playing games. This is due to some gamers not having friends to play with or having friends but none that share the same interest in games as them. Assembly provides a solution by allowing users to connect with other gamers who have similar gaming interests and bring them together to play. It also can help players to find new friends who also love the same games, which will help to increase their gaming experience and fun.
Solution Assembly offers a way for gamers to connect with one another and find other players to play games with. Users can create an account, select their favorite games, add friends, and communicate with one another. They can also make posts in search of other players to play with and react to posts to express interest in playing with other users. This provides a way for gamers to find and connect with others who have similar interests and makes it easy to find people to play with. This could help to increase their gaming experience and satisfaction.
Key Technical Challenges A key technical challenge would be implementing authentication like JSON Web Tokens (JWT) or OAuth for handling user authentication and authorization and implementing real-time communication like WebSockets or Firebase for building real-time messaging and notifications.
Extension Opportunities
Adding comments or react buttons to a user's post, as well as letting others see and buy games for a friend, would be an extension opportunity. Implementing a notification feature to know when someone interacts with your post, Another opportunity would be to implement a block button if a user doesn't want to talk to other people. Some added features would be tags displaying what the user is looking for like adults to play with, people with mics, experienced players or just casual players and adding dates to display when the time of the post will be active, such as now, tomorrow, next week or next month. Some extra features would also be adding how many players are needed in the post such as 2 , 3 or 4 players needed and this could go with any type of game. Add date to when game was posted.
Research https://www.digitalocean.com/community/tutorials/how-to-add-login-authentication-to-react-applications https://www.geeksforgeeks.org/how-to-build-a-react-app-with-user-authentication/ https://levelup.gitconnected.com/implement-authentication-and-protect-routes-in-react-135a60b1e16f https://welearncode.com/auth-react/ https://rapidapi.com/blog/react-api-authentication-authorization/ https://www.youtube.com/watch?v=jcOKU9f86XE https://www.youtube.com/watch?v=X3qyxo_UTR4 https://www.youtube.com/watch?v=wr3VmbZdVA4 https://www.youtube.com/watch?v=mL8EuL7jSbg https://www.youtube.com/watch?v=7Q17ubqLfaM