Lab 2 Report - bounswe/bounswe2024group8 GitHub Wiki
Meeting Notes of Lab 2 can be found here.
Table of Contents
1 Executive Summary
1.1 Design of the Project
In this section, the details of the design of the project is included.
1.1.1 Domain Choice
As Group 8, our topic is to build a forum-like platform on a specific domain, such as football, chess, racing, etc. We decided our domain as 3D models, including from 3D animation videos to 3D printing blueprints.
1.1.2 Post Types
Our platform will have 2 kinds of posts in it.
1.1.2.1 Visual Posts
Visual posts define all types of posts that has a data file, other than the text. These posts will build the ideas shared by the community.
1.1.2.1 Text-Only Posts
This kind of posts will be used especially for discussions. People also should be able to ask questions to the community, which are not expected to have data files attached.
1.1.3 Features
1.1.3.1 User Register
Users should be able to create an account, using an email address.
1.1.3.2 User Login
Users should be able to login to the forum, so that they can be a part of the community.
1.1.3.3 Posts
Posts can be shared by users of the community. The posts might be visual posts (by which the users share their ideas or productions to the community) or text-only posts (that helps users to navigate through, find or create ideas).
1.1.3.4 Like-Dislike
Users should be able to like or dislike posts, so that the posts can be rated with the number of likes and dislikes.
1.1.3.5 Comments
The posts will have comments section, where the users can share their opinions about the post.
1.1.3.6 Bookmarks
Since the objective of the platform is to receive and share ideas, the users might not utilize the idea that is shared on a post whenever they see. So, a user should be able to bookmark a post in order to utilize later.
1.1.3.7 Search
Users might want to search an idea on the platform. So we want to implement a searching mechanism in the system so that a user shall find the ideas of specific things, such as toy cars.
1.1.3.8 Follow
Users should be able to follow other users
1.1.3.9 Challenge Other Visual Posts
Users might find some ideas insufficient or unsatisfactory. So if they have a brighter idea than the one they did not like, they can challenge them with another visual post, by sharing their own idea.
1.1.4 W3C Standard Choice
In the lab, we discussed about the W3C Standard and decided to talk about it in another meeting. We postponed this decision for now.
1.1.5 Name Choice for the App
We noticed that we have to find a name that represents our platform to name the application. We mentioned names like "3Design" and "3Discussed".
1.2 Concepts and Discussions About the Project
1.2.1 Tournaments
We wanted to manage tournaments in the platform, in order to satisfy users' ambition. For now, we talked about organizing tournaments each week, where the posts will be ranked by likes and dislikes. We also want to build a reward system for the winners of the tournaments.
1.2.2 User Scores
Users with high number of likes, dislikes, shared posts, comments, and rewards from the tournaments will get score based on these attributes. So the platform will be a little ambitious place to get higher scores.
1.2.3 Tags
The posts will have tags, based on the context of the details of it. The user is supposed to add these tags. More details about the tags will be discussed in the future.
1.2.4 Categories
The posts will reside under specific categories, such as "3D Animation" category, or "3D Printing" category. We want to hold more than 10 categories.
1.2.5 Semantic Search
The platform is supposed to have the features of semantic search, just like CMPE352 project of Group 8 in Spring 2024. So, the users might navigate through the platform easily, find ideas they are asking for.
2 Project Plan
2.1 Roadmap
Github Roadmap remains as our choice for project planning & tracking. We have been adding new items to our schedule on a regular basis and we will keep updating it once we proceed to implementation phase.
2.2 Requirements
We have prepared a draft for requirements and we are planning to deliver the final list in the following week.
2.3 Issues
We are constantly creating new issues based on our efforts and labeling them when necessary to sustain an organized environment. Furthermore, we associate those issues with our roadmap and milestones have a more precise plan. However, we could not make sure whether we should create issues that are assigned to multiple people or let everyone have their personal issues.
2.4 Elicitation questions
We are also planning to finalize our elicitaiton questions list after our meeting with the TA.
2.5 Tech Stack
We have decided to use Spring Boot for Backend and React for Frontend and Mobile platforms. Furthermore, we are planning to use Online 3D Viewer library for 3D file displaying purposes