Skip to content

Releases: bounswe/bounswe2023group7

0.9.0

25 Dec 18:55
c28d777
Compare
Choose a tag to compare

Group 7 Cmpe451 2023 Fall Final Release

0.2.0-alpha

27 Nov 18:47
2de998a
Compare
Choose a tag to compare
0.2.0-alpha Pre-release
Pre-release

In Milestone 2 of our project, we successfully implemented a comprehensive set of pages and features to enhance the user experience. Our achievements include the development of key pages such as the Home Page, Create Game Page, Edit Game Page, Create Entity Page, Forgot Password Page, Change Password Page, Games Page, Game Page, Forum Page, and User Profile Page. We also designed our Home page according to the feedback from the first milestone. Additionally, we incorporated essential functionalities such as the ability to follow/unfollow games, submit/view/like/dislike/delete/update game reviews, explore enhanced game properties, engage in forum discussions with comments and threads, and perform forum and game searches. Users can now rate and review games, express opinions through like/dislike interactions in the forum, and conveniently edit their profiles. Users can also submit gameplay duration info. This milestone marks a significant step in delivering a feature-rich and user-friendly platform.

0.1.0-alpha

31 Oct 17:06
208d5d7
Compare
Choose a tag to compare
0.1.0-alpha Pre-release
Pre-release

In our initial milestone, we successfully integrated essential features such as user login, registration, and logout functionalities for both web and mobile platforms. Additionally, we've introduced mock pages for the game, forum, and home page on the web, while the mobile version features login, signup, and logout capabilities, along with a preliminary mockup of the home page.

Group 7 Practice App Release

12 May 20:51
Compare
Choose a tag to compare
Pre-release

FigJam Basics (1)

👤 Contributors

Table of Contents

1. Executive Summary

1.1. Introduction/Project Description

As Group 7, our project is a gaming community platform designed for users, including developers, gamers, and e-sports players, to connect and collaborate. It offers a forum for users to create posts, and share game guides, tactics, and reviews. Developers can promote their upcoming titles, and users can find friends and form teams through a group-finding feature. The platform facilitates the organization and promotion of online and offline gaming events. It includes a search function with semantic search capabilities for posts, users, developers, and e-sports players. The platform also provides personalized recommendations based on user activity and interests. Additionally, there is a native Android application with a user-friendly design. Users can annotate content with text or image annotations, and ethical considerations such as privacy, copyright, and licensing are prioritized, following GDPR/KVKK regulations.

As a team, in this milestone, we worked together to develop a web application utilizing APIs. Our main objective was to gain practical experience in team development practices using GitHub. Each team member is tasked with selecting and integrating at least one API of their choice while also creating an API function. Throughout the development process, we collaborated closely, extensively utilizing our project repository. By working together and leveraging our collective skills, we developed the web application and API with a simple user interface, creating a valuable tool for collaboration. We planned diligently, communicated effectively, and supported one another to achieve our shared goals.

1.2. Project Status

Since the beginning of this term, we worked on our Game Community Platform step by step. We began by identifying the requirements and categorizing them into sections. Whenever there were questions regarding the requirements, we asked our teacher and teaching assistants to clarify. Subsequently, we created mockups and scenarios to illustrate the basic user interactions within our app. For a detailed implementation plan, we developed class-user-sequence diagrams. To monitor our progress, we devised project plans and a Resource Allocation Matrix (RAM). All of these works can be seen on our Milestone 1 Report.

A significant research aspect of our implementation involved becoming proficient in Git and GitHub, considering the multitude of pull requests, issues, and merges. As a team, we learned how to use Git as many of us were not experienced with it in this sense. Also, everyone did research on APIS, and selected frameworks. Additionally, we conducted meetings to determine the most optimal tools for our app, ultimately selecting React and Node.js frameworks.
Each team member chose a public API as their desired, if there is any unclarities, we asked our teacher and teaching assistants. Some of our team members chose not to participate in the project because of personal reasons. Starting with the backend, each team member decided and implemented their own required endpoints. Afterwards, everyone made their unit tests for each endpoint. We conducted thorough testing, including manual tests using Postman, to ensure the functionality of our endpoints. Subsequently, each team member focused on implementing the user interface for their respective endpoints. Finally, we diligently documented the API and summarized our achievements in the Milestone report.

1.3. Functionalities of Our Project

In our practice app, everyone chose a public API and decided their functionalities on their own. We will explain chosen APIs and functionalities separately.

  1. Location: The Abstract API’ IP Geolocation API has been implemented, allowing users to retrieve their location (city, country, region, postal code, current time, country flag) based on their IP address. Additionally, functions have been developed to add this location to the user's location history and enable users to view their location history upon request. In order to access the location history and add location information to the history, users are required to log in with their email address. However, it is possible to view the current location without logging in. You can access the page using the button named Elif Kızılkaya from our home page.

  2. Event: Since our practice application is some sort of Game-Event Platform, there are main components included alongside the user such as games and events. Each user can create an event by providing required fields and then list events created throughout the application. To create an event providing valid event time, event date, and event location is enough. Our application connects to Geocoding API to fetch coordinate addresses and stores provided information and returned API response in database to further retrieve and list the entries.

  3. Favorite Games: The user should go /favorite-games page in our application and he/she should be authenticated to use favorite games feature. If the user is not authenticated, the user is navigated to sign in page.The user can search games in this page and can click on the games which come from search to add the game to his/her favorite games. Favorite games of the user are listed on the right of the page. The user can click on the games to remove the game from his/her favorite games.

  4. Authentication: The user can register to our application by using signup page. The user should provide a valid email, username and password. The user can be authenticated if the user logins to the application. The user can use login page to login to the application. The user should provide his/her username or an email besides the password.

  5. Streaming Games: The chosen API is the Twitch API, which provides access to data related to Twitch's streaming platform. With the Twitch API, developers can interact programmatically to retrieve information about games, streams, users, and more. The implemented functionalities in this code focus on retrieving and storing data about the most viewed games on Twitch. The first function retrieves data about the currently most popular game on Twitch. The second function saves the retrieved data along with the current date and time. The third function retrieves all previously saved games from the database, including their saving dates.

  6. Game Platform: Also mentioned in the interface: "Game Platform by Altug". At this platform you can get platform of the game you searched. First user sees two buttons which are "search game" and "post platform". If user clicks "search game", user will encounter a form and button. At this time, the user should enter which game he or she searched. If system finds game at least one, new page will be loaded. On the page, there will be 1-10 buttons. The user should pick one of them and wait for the platforms. If the user has one of the seen platforms, there will be a message like that "You have these platforms to play this game:{platform}. Otherwise, there will be a message like that "You do not have any". To add the platform, "post platform" enables the user to add a platform to his or her account. A user can add more than one platforms. By clicking "post ...

Read more