- Drive Link: https://drive.google.com/file/d/1lQjfpDQA6K0UYWI7J6qeSMLgM8lqzOQm/view?usp=sharing
- Youtube Link: https://youtu.be/kKTJaSUGkjQ
At the final milestone, we have largely completed our requirements in our game review application. We have released the pre-release versions of our mobile application and web application.
Since the second mileton, we have created the UI designs and backend logic of our home pages on web and mobile. We have established a system that makes game and group recommendations to our users based on their likes and interests. Although the game recommendation section works very well on the web side, there are still unfinished points on the mobile section.
We added new features to the profile section of each of our users. We enabled users to be more informed within the application and be informed of new news by seeing their notifications. We have successfully completed the mobile and web section by allowing users to access the relevant sections by clicking on our notifications.
We have included the character feature, which is one of the most basic features that distinguishes our application from other forums and applications. We aimed to make our users feel closer to the games and our application by using game-specific characters.
In this milestone, we helped people create their own communities by adding features such as private group and ban user to the group feature we had previously implemented.
Another important feature we added to our application is the annotation system. We have established our annotation system that allows all our users to make text and image annotation. The annotation system, which works very well on the web side, has not yet been implemented on the mobile side due to some restrictions provided by Unity.
We tried to distance our users who are eager to have fun in the game world from the boring UI experience by improving the UI design of our application and displaying it in a more cartoon style.
In summary, we have largely successfully reached the anticipated development milestone for our platform.
Covered Requirements Since Milestone 2:
- Text Annotation requirements
- Image Annotation requirements
- Promotion requirements
- Recommendation requirements
- Private Group requirements
- Group Application requirements
- Game Character requirements
- Notification requirements
- Homepage requirements
There are some requirements we could not cover such as reporting feature. You can access the frontend with this link. You can access the backend of the application with this link. You can access the mobile application with this link.
Deliverable Name | Delivery Status | Notes |
---|---|---|
Project Video | Completed | |
Executive Summary | Completed | |
Summary of Your Project Status in Terms of Requirements | Completed | |
Status of Deliverables | Completed | |
Final Release Notes | Completed | |
Management Related Parts of Report | Completed | |
Summary of Work Performed by Team Members | Completed | |
API Endpoints | Completed | |
Status of Requirements | Completed | |
Status of Annotations | Completed | |
Scenarios | Completed | |
User Manual | Completed | |
System Manual | Completed | |
Emulator Instructions | Completed | Unity has its own emulator. Run the program in Unity with specified instructions |
Software Requirements Specification | Completed | |
Software design documents | Completed | |
User scenarios and mockups | Completed | |
Research | Completed | |
Project plan | Completed | |
Generated Unit Test Reports | Completed | |
Release of Software | Completed | |
Individual Contributions | Completed |
- Name: Josh Radnor
- Age: 21
- Nationality: American
- Personality: Patient, Friendly, Strict
- Interests: Video Games, Basketball, Teni
Josh Radnor is a junior computer engineering student at Stanford University. He loves playing videogames and interacting with other gamers. In his free time, he plays basketball and tenis other thanplaying video games. He loves playing RPG games however he is very picky about them, he likes toresearch a lot before commiting a game. He is a real Fallout fan. He heard this platform from hisfriends and wanted to give it a go.
- Engaging with new gamers
- Being aware of new games
- Joining online communities, participate in forums or chat rooms, or play multiplayer games with friends or strangers.
- Having a detailed information about the games
This scenario will also be demonstrated through the video we provide.
- Josh checks out the home page and finds compelling content, including Fallout-related posts.
- Spots the register button in the top navigation bar, Josh clicks it and gets redirected to the registration page.
- On the registration page, he provides a username, email, and password. He accepts the Game Guru User Agreement and completes the registration.
- After successful registration, Josh is redirected to the home page.
- Using the top navigation bar, he goes to his profile and clicks the "edit profile" button.
- Josh adds his picture and links his Steam account in modal form.
- Heading to the games page, he searches for Fallout.
- Among the search results, Josh chooses Fallout 4. He briefly checks the description, annotations, and characters from the game’s details page.
- Impressed, he follows the game.
- He navigates to the reviews section, gives 5-star rating, and writes a detailed review about why he likes Fallout 4.
- After having a look to the other reviews, upvotes some reviews, downvotes some others based on his preferences.
- He checks out the Fallout 4 forum, writes a comment on a post he likes, and creates a post about Fallout 4.
- Following this, he goes back to home page for some other content
- Seeing a recommended Fallout 4 group on the home page, Josh checks out the group.
- He likes it and decides to join. He applies for the group.
- He writes a detailed message explaining why he wants to join.
- After a while, Josh click notification section on the side bar .
- He finds out achievements related to reviews and posts. He also sees that his group application is accepted.
- He goes to the group's page by clicking the related notification.
- He posts a group post.
- Going back to home page, Josh sees a recommendation for ‘Baldur's Gate 3.’
- He goes and checks out the game with the characters, annotation, description.
- He gets really exited, he follows the game with intentions of playing.
- After playing ‘Baldur's Gate 3’ and enjoying it, he searches for existing groups from Groups page by game name ‘Baldur’s Gate 3’
- Josh decides to create a new group of this game, he swithches to Groups page.
- Clicking the "create group" button, he adds an image, description, and sets quota and membership policies for the new Baldur's Gate 3 group.
- Creates a welcome post for the incoming members and starts to wait for first members of his group.
- He remembers the achievement he saw in game Baldur's Gate 3. He just won that.
- He posts an achievement request post in the game’s forum
- He goes to his profile, sees his achievements.
- He is happy knowing that he found a new game he really liked and he is good at it, he leaves the website.
To realize the scenario above in the application, we focused on several key aspects. Initially, we implemented a secure login and registration functionality using token-based authentication, laying the foundation for user identity and security.
The application is built on two fundamental pillars: domain specificity and community engagement. For the community engagement aspect, we developed robust features like reviews, forums, comments, and groups.
Reviews and all kinds of forum content encompasses posting, editing, deleting, and voting capabilities, integrated across the backend, frontend, and mobile platforms. On the backend, CRUD (Create, Read, Update, Delete) endpoints were implemented to manage these interactions efficiently. Forums were designed to allow users to create individual posts, comment on these posts, and even comment on other comments, facilitating rich community interactions.
Regarding groups, we introduced two types of membership policies to represent different group types and motivations, enhancing the social dynamics within the application. This feature allows users to connect and engage with like-minded individuals, creating a sense of community and shared interest. For domain specificity, a key focus was on enriching the gaming experience. For users like John who seek in-depth information about games, we enriched our platform with comprehensive game details incorporating features like characters, annotations, and game-specific tags. These elements differentiate our platform from typical gaming platforms by providing deeper insights into each game.
Additionally, we introduced an achievements system to boost user engagement, tapping into the competitive spirit of gamers. To seamlessly blend domain specificity with social networking, these domain-specific elements - characters, achievements, annotations - were integrated into the posts and social features of the application.
A significant addition was the implementation of a recommendation algorithm. By tracking user activities on the backend, such as games followed and group participation, the algorithm suggests games, and groups that align with the user's interests.
Furthermore, related pages for games, characters, and groups were developed, with backend support for managing and presenting this data effectively. To further enhance the user experience, we added search, filter, and sort functionalities with a wide range of options across nearly all sections of our user interfaces.
To ensure that users like John have access to a wealth of content, we developed an admin panel. This panel empowers our administrators to effectively manage the platform's content. Through this panel, admins have the capability to create, delete, and edit various elements such as games, achievements, and tags. Additionally, it provides them with the functionality to add annotations, enriching the game descriptions and providing deeper insights.
- In this milestone we tried to write backend unit test while implementing them. This gave us the opportunity to detect bugs beforehand. By writing these tests we could also ensure that future codes would not impact the functionalities of some other sections.
- Secondly, in this milestone, we paid more attention to reviews. For example we changed the styling of the login/register page in frontend and make some coloring adjustments based on the given feedbacks. This created a better UI and gave us a opportunity to see our mistakes.
- Also, by experiencing first two milestone we learned how to create a realistic and detailed scenario. So, in this milestone I think we created a better scenario. In this way we affect our customers more easily and make them more satisfied.
- In the final milestone demo, we realized that the objective of the annotation feature is to provide all users with the opportunity to annotate content on the page. We had thought that there might be constraints to this opportunity, but the demo demonstrated that such limitations were unnecessary.