0.2.0-alpha
Pre-releaseWhat's Changed
- Db entities added and updated by @yektaercul in #267
- Improved 3d viewer component, made it conditional. by @deniz6221 in #265
- Generic feed implemented, categories initiated by @deniz6221 in #268
- 3design frontend by @deniz6221 in #272
- Lab5 Pull Request - Implementation of W3C standard by @oguzkagnici in #277
- Vertical menu for posts implemented. by @deniz6221 in #283
- Download Model Function For Frontend by @deniz6221 in #284
- 3design frontend by @deniz6221 in #285
- Feature/comment by @oguzkagnici in #273
- Feature/category by @tuluyhansozen in #281
- Feature/Post by @tuluyhansozen in #282
- implement file service to upload to gcp by @yektaercul in #290
- Lab 6 Pull Request - UI/UX by @oguzkagnici in #295
- Update the frontend branch by @deniz6221 in #304
- Feature/CreatePost by @tuluyhansozen in #306
- Implement reaction feature fix several comment issues. by @oguzkagnici in #293
- Tournament implementation by @yektaercul in #309
- Frontend UI Fix by @deniz6221 in #305
- 3design frontend comments by @erselcanakcili in #313
- Implement post retrieval endpoints by @oguzkagnici in #320
- Create post feature completed by @erselcanakcili in #323
- Implement user followings. by @yektaercul in #325
- implement annotation layer for posts and comments by @yektaercul in #326
- Lab7 mobile by @AliAlperenSonmez in #330
- Lab 7 Pull Request by @oguzkagnici in #327
- Implement Category follow unfollow by @yektaercul in #336
- Updated Post Creation Screen by @onurcerli in #340
- Feature/CreatePost exception handler and join tournement control by @tuluyhansozen in #312
- Earn tournament points with interaction by @oguzkagnici in #332
- Feature/achievements by @oguzkagnici in #344
- Add followed users' posts to feed by @oguzkagnici in #346
- Implement assignPrize method by @yektaercul in #348
- 3design mobile feed backend connection by @edonmez01 in #350
- Mobile follow category by @edonmez01 in #356
- Mobile comments by @edonmez01 in #358
- Mobile file upload download by @edonmez01 in #368
- Mobile categories by @edonmez01 in #370
- Mobile profile page backend connection by @edonmez01 in #373
- add swagger implementation by @yektaercul in #376
- 3design mobile tournament by @AliAlperenSonmez in #375
- Merge Finalized Version Of Mobile Into main Branch by @onurcerli in #378
New Contributors
- @tuluyhansozen made their first contribution in #281
- @AliAlperenSonmez made their first contribution in #330
Release Description
Covered Requirements:
-
1.1 User Requirements
- 1.1.2 Registration and Login
- 1.1.2.1 Users shall be able to:
- 1.1.2.1.1 Update their password.
- 1.1.2.1.2 Log out of their account.
- 1.1.2.1.3 Change their username once a month.
- 1.1.2.1.4 Change their profile picture.
- 1.1.2.1.5 Delete their account.
- 1.1.2.1.6 Follow other users.
-
1.1.3 Categories (See "1.2.1 Categories")
- 1.1.3.1 Users shall be able to follow or unfollow any category.
- 1.1.3.2 Users shall be able to create posts or interact with posts in every category. (See "1.1.4 Posts")
-
1.1.4 Posts
-
1.1.4.1 Visual Posts
- 1.1.4.1.1 Users shall be able to create and interact visual posts in each category under Gallery Tab. (See "1.2.1 Categories")
- 1.1.4.1.2 Users shall be able to reply another visual post while creating one to start a Challenge.
- 1.1.4.1.3 Users shall not be able to create a visual-post without adding a 3D file.
- 1.1.4.1.4 Users shall be able to submit one Visual Post per Category per week to participate in Tournaments.
-
1.1.4.2 Text-Only Posts
- 1.1.4.2.1 Users shall be able to create and interact text-only posts in each category under Discussions Tab.
- 1.1.4.2.2 Users shall not be able to create a text-only post with an attached file.
-
1.1.4.3 Users shall be able to add tags to their own posts.
-
1.1.4.4 Users shall be able to like, dislike and bookmark a post.
-
1.1.4.5 Users shall be able to write a comment to a post. (See "1.1.5 Comments")
-
1.1.4.6 Users shall not be able to tag other users in the post. Only way to reply other than commenting is by Challenge.
-
-
1.1.5 Comments
- 1.1.5.1 Users shall be able to write comments to the posts.
- 1.1.5.2 Comments shall contain at most 250 characters.
- 1.1.5.3 Users shall not be able to tag other users in the comment.
- 1.1.5.4 Users shall not be able to reply a comment with their comment.
- 1.1.5.5 Users shall be able to like or dislike a comment.
-
1.1.6 Profile
- 1.1.6.1 Users shall have a profile (personal page) visible to users.
- 1.1.6.2 At the profile, other users shall be able to see:
- 1.1.6.2.1 User's profile picture.
- 1.1.6.2.2 User's Tournament points, rankings and achievements.
- 1.1.6.2.3 Followers and follow list.
- 1.1.6.2.4 User's latest posts and comments.
-
1.1.7 Searching
* 1.1.7.1 Users shall be able to view related items to entered keywords while searching. -
1.1.8 Tournaments
- 1.1.8.1 Users shall be able to participate in weekly Tournaments by submitting one Visual Post per Category.
- 1.1.8.2 Users shall be able to participate in multiple Categories with different Visual Posts.
- 1.1.8.3 Users shall be able to view the Tournament leaderboard for each Category.
- 1.1.8.4 Users shall earn experience points based on their rankings if they are in the top three positions.
- 1.1.8.5 Users' Tournament achievements shall be displayed on their Profiles.
- 1.1.8.6 Users shall not be able to edit their Tournament submissions.
- 1.1.8.7 Users shall be able to delete their Tournament submissions.
-
1.2 System Requirements
-
1.2.1 Categories
- 1.2.1.1 System shall contain various categories dedicated to certain fields in 3D modeling.
- 1.2.1.2 Categories shall not be deleted or created by users.
- 1.2.1.3 Categories shall have two tabs, namely Gallery and Discussions.
- 1.2.1.4 Categories shall include a leaderboard based on tournament points
-
1.2.2 Posts
-
1.2.2.1 Visual Posts
- 1.2.2.1.1 Visual Posts shall have a 3D file in one of the supported formats.
- 1.2.2.1.2 Visual Posts shall be created under the Showcase Tab.
- 1.2.2.1.3 Visual Posts submitted for Tournaments shall be marked accordingly.
- 1.2.2.1.4 3D files attached shall be at most 10MB.
- 1.2.2.1.5 Text content shall be at most 256 characters.
- 1.2.2.1.6 3D Files shall be viewed in a dedicated window that allows interaction.
-
1.2.2.2 Text-Only Posts
- 1.2.2.2.1 Text-Only Posts shall only have plain text as a content.
- 1.2.2.2.2 Text-Only Posts shall be created under the Discussions Tab.
- 1.2.2.2.3 Text content can be at most 256 characters.
-
1.2.2.3 Posts shall have a title.
-
1.2.2.4 Posts shall have tags.
-
1.2.2.5 The system shall calculate points for each Visual Post submitted to a Tournament based on likes, dislikes, and bookmarks using a predefined algorithm.
-
1.2.2.6 The system shall prevent users from editing their Tournament submissions.
-
-
1.2.3 Search and Filtering
- 1.2.3.1 The system shall allow users to search posts, Categories and users by semantic searching.
- 1.2.3.2 The system shall keep the search history of every user for better searching experience.
- 1.2.3.3 The system shall use Wikidata to perform semantic search.
-
1.2.4 Feed
- 1.2.4.1 The system shall filter the posts by the user and shows the feed as the home page.
- 1.2.4.2 The feed shall be refreshable.
- 1.2.4.3 The feed shall contain followed users' and categories' posts.
-
1.2.5 Tournaments
- 1.2.5.1 The system shall hold weekly Tournaments for each Category, starting and ending at the same time.
- 1.2.5.2 The system shall allow users to submit one Visual Post per Category per week for Tournament participation.
- 1.2.5.3 The system shall use an algorithm to calculate scores for Tournament submissions based on likes, dislikes, and bookmarks.
- 1.2.5.3.1 Likes and bookmarks shall contribute positively to the score.
- 1.2.5.3.2 Dislikes shall negatively impact the score.
- 1.2.5.4 The system shall announce Tournament winners at the end of each week.
- 1.2.5.5 The system shall update the Tournament leaderboard live.
- 1.2.5.6 The system shall award experience points to users based on their rankings, with additional points for the top three positions.
- 1.2.5.7 The system shall display users' Tournament achievements on their Profiles.
-
1.2.6 Annotations
- 1.2.6.1 The system shall use annotations that comply with the W3C Web Annotation Data Model.
- 1.2.6.2 The system shall use annotations appearing in the form of a highlighted text.
- 1.2.6.3 The system shall allow annotations only in post bodies.
How To Run
- Live Backend Url: http://34.32.44.43:8080
- Live Frontend Url: http://34.32.44.43:3000
The application is available in the URLs above and the shared APK in this release report. The Docker images are created using the Dockerfiles in the Backend and Frontend. The Docker containers(processes) are started using these Docker images and accessible on the URIs above. Related Docker commands, which are executed in the GCP VM Instances, are here:
docker build -t backend-image:0.2 -f 3Design/backend/Dockerfile ./3Design/backend/threedesign/
docker run -d -v /path/to/gcp/key/keyfile.json -e GOOGLE_APPLICATION_CREDENTIALS=/key.json --name backend-container --rm -p 8080:8080 --network host backend-image:0.2
docker build -t frontend-image:0.2 -f 3Design/frontend/Dockerfile ./3Design/frontend/
docker run -d -v /path/to/gcp/key/keyfile.json:/key.json -e GOOGLE_APPLICATION_CREDENTIALS=/key.json --name frontend-container --rm -p 3000:3000 --network host frontend-image:0.2
To run the application in your local, these docker images can be generated using the docker commands above and the source code that is shared in this release report.
Full Changelog: customer-milestone-1...customer-milestone-2