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