Customer Milestone 3 Group Review - bounswe/bounswe2022group1 GitHub Wiki
Summary: As of now, our backend, frontend, and android are all functioning and able to communicate with each other. We have implemented all of the required functionalities but events and semantic searching. After experiencing issues with our product during the second milestone, the team decided that it was more important to focus on implementing annotations and refining existing functionalities related to learning space and resources rather than adding new ones. The backend team successfully implemented annotations according to W3C standards, improved existing functionalities, and created the endpoints requested by the frontend and android teams. The frontend team also made significant progress, implementing numerous functionalities including image and text annotations. The android team made substantial improvements as well, including a significant change in style and the creation of a user-friendly app with a nice design.
Status of Deliverables: We finished all the requirements for the deliverables and submitting as of now.
Final Release Note: After much effort and dedication, we were finally able to present a fully functional frontend, android, and backend. The process was challenging and required a significant amount of hard work and personal sacrifices, including long hours and moments of exhaustion. Despite these challenges, we are extremely happy and proud of the end result. It was a true team effort and we are grateful for the opportunity to have worked on this project together. We hope that as customers, you will be just as happy and proud to use our application, Budemi.
- Now we have a functional frontend and android and we support image and text annotations on the frontend.
- We have an easy to use UX/UI that facilitates learning process.
- We have a markdown support for both frontend and android.
- All in all, we have a functional application that is ready to use.
Changes our team has made: After recognizing the challenges in the frontend team, we decided to move Mustafa from the backend to the frontend to help. Mustafa made a significant contribution and played a crucial role in creating a functional and visually pleasing frontend. Not only Mustafa, but the rest of the frontend team also put long hours of hard work to bring the application to success. The lack of Mustafa from the backend team resulted in a heavier workload for the remaining team members (2 members). Similarly, the android team, consisting of only two people, worked hard and put in long, exhausting hours to create a nice product. Despite these challenges, our efforts paid off and we were able to create a nice, working application.
Reflections: I think responsibility and conscientiousness are crucial qualities in group work. It is important for team members to be reliable and follow their commitments in order to ensure the success of the project. These traits help to create a positive and productive team dynamic and can make a significant difference in the outcome of the work. In the third milestone, we saw firsthand the positive effects of these traits on our success.
What could be done differently: It could be beneficial to have stricter deadlines for presenting completed work. For example, if we had tracked our progress on a weekly basis as a team, we could have identified any shortcomings in our product much earlier on, before the first and second milestones. This could have let us to solve any issues more thoroughly and potentially prevent them from becoming more significant problems during the milestone 1 and 2. By having more frequent controlls, we could more closely monitore our progress and could made any necessary adjustments earlier on.
Tabular format
Milestone1:
Issue Title | Link |
---|---|
Reviewing the UML Class Diagram | Issue #290 |
Decided tools with team members | Issue #315 |
Initial pages for android | Issue #333 |
Organized our Kotlin Project folder | Issue #341 |
Implemented the Landing Page for android | Issue #339 |
Android team meeting - planning for Milestone1 | Issue #356 |
Android team meeting - Kotlin backend connection | Issue #385 |
Android team meeting - finalizing project for Milestone1 | Issue #386 |
Implemented a swipe view for android | Issue #391 |
Integrated the swipe view into the Landing Page | Issue #393 |
Android team meeting - function implementations | Issue #414 |
Designed a page for changing password | Issue #422 |
Reviewed Sign-in page | Issue #439 |
Prepared and updated Project Plan for android team | Issue #441 |
Updated Scenario & Mockup for android | Issue #443 |
Prepared Milestone1 deliverables for android | Issue #446 |
Prepared structure for Milestone1 deliverables | Issue #448 |
Pull Request Title | Link |
---|---|
Prepared folder for Milestone1 deliverables | PR#447 |
Initial setup and the landing page | PR#337 |
Helped initial design of sign in and sign up pages: | PR#353 |
Milestone2:
Issue Title | Link |
---|---|
Android team meeting for customer meeting evaluation | Issue #503 |
Android team meeting for Mileston2 objectives | Issue #504 |
Android team meeting for sharing works | Issue #516 |
Side bar implementation | Issue #517 |
Implementing learning Space Category Selection | Issue #518 |
Android team meeting for docker an reviewing our work | Issue #544 |
Providing a structure for API calls with Omer | Issue #590 |
Implementing change password API connection | Issue #591 |
Implementing learning space category selection | Issue #607 |
Implementing learning space creation | Issue #608 |
Implementing the forgot password functionality | Issue #609 |
Preparing codebase for the Milestone2 | Issue #616 |
Meeting with back-end team | Issue #625 |
Meeting with back-end team | Issue #625 |
Implementing search functionality for learning spaces | Issue #628 |
Android APK file generation | Issue #629 |
Preparing android UI/UX for Milestone2 with Omer | Issue #643 |
Pull Request Title | Link |
---|---|
Change password functionality and API call structure | PR #568 |
Change password bug fix and Learning space list | PR #593 |
Parameters passed to LS according to the chosen LS from the list | PR #597 |
Bug fix related with arrays | PR #598 |
Forgot password page implemented | PR #606 |
Learning space search implemented | PR #627 |
Reviewing Omer's add content page PR | PR #592 |
Reviewing Omer's add discussion implementation PR | PR #610 |
Reviewing Omer's Milestone2 directories PR | PR #610 |
Reviewing Omer's Milestone2 bug fix PR | PR #644 |
Final Milestone:
Issue Title | Link |
---|---|
Android team meeting for customer meeting evaluation | Issue #503 |
Improved android UI: Background, button, and text style changes | Issue #702 |
Implemented a page for profile editing | Issue #709 |
Learning Space List page updated | Issue #731 |
Android navigation bar updated | Issue #734 |
Search bar moved to the home page | Issue #767 |
Favorite learning spaces added to the home page | Issue #772 |
Search View related Bug is fixed | Issue #773 |
Favorite learning Spaces API connection is completed | Issue #778 |
Resources of Fav. Learning Spaces are listed on the home page | Issue #793 |
Making the navigation bar accessible from all pages | Issue #795 |
Home Page Resource Owner Bug Fixed | Issue #799 |
Resource Update Bug fixed | Issue #805 |
Resource Notes GET Bug fixed | Issue #806 |
Editing Note Functionality implemented | Issue #807 |
Empty notes related Bug fixed | Issue #811 |
Profile page is implemented | Issue #841 |
Home page empty favorite learning spaces design | Issue #847 |
Learning space menu is favorite bug fix | Issue #865 |
Trying to implement W3C Annotations, but failed | Issue #876 |
Preparing UI/UX design Android for Milestone2 with Omer | Issue #643 |
Determining the objectives for the Milestone3 | Issue #689 |
Necessary API updates for the profile page determined and requested from teammates | Issue #711 |
Necessary API updates for learning spaces determined and requested from teammates | Issue #712 |
Creating mock data for the Milestone 3 | Issue #924 |
Preparing Android UI/UX and Related Codes for The Final Milestone | Issue #956 |
Pull Request Title | Link |
---|---|
Android: UI improvements | PR #703 |
Profile edit page implemented | PR #710 |
Learning Space List UI updated | PR #732 |
Android: Navigation Bar Improvements | PR #733 |
Search bar moved to the home page | PR #768 |
Favorite learning spaces are listed on home page | PR #771 |
Learning Space list connections done | PR #775 |
Resources of Fav. Learning Spaces on the Home Page | PR #794 |
Android Home Page: Resource owner bug fixed | PR #800 |
Resource Update Bug fixed | PR #804 |
Notes bug fixed, update functionality implemented | PR #808 |
Empty notes related bug fix | PR #811 |
Profile page implementation is done | PR #842 |
Home Page Favorite Learning Spaces | PR #848 |
Check is favorite | PR #864 |
Deliverable folder created and updated for android | PR #916 |
APK added for deliverables | PR #942 |
Milestone1:
Issue/Pull Request Title | Link |
---|---|
Review of Semantic Search, Fundamental Features of the Project and Project Libre File | Link |
Checking and updating fundamental features page | Link |
Adding courses to Udemy account | Link |
Learn Django - Mustafa Atay | Link |
Dockerization and deployment of project | Link |
Mustafa Atay - Learn dockerization | Link |
Organizing file structure | Link |
Preparing API documentation | Link |
Mustafa Atay - individual contribution report | Link |
Android team meeting - function implementations | Link |
Updated Scenario & Mockup for android | Link |
Preparing project plan | Link |
Evaluation of tools and processes: Django, Docker | Link |
Mustafa Atay - Individual contribution to group report (Customer Milestone 1) | Link |
Pull Request Title | Link |
---|---|
Organize The Folder Structure | #350 |
Pushing initial Django proect | #354 |
Milestone2:
Issue Title | Link |
---|---|
Backend - Creating .env file | 355 |
Backend - fix "module not found: knox" error | 506 |
Backend - models for learning space | 507 |
[BUG] issue template doesn't work | 508 |
Backend: Logout Endpoint | 531 |
Backend - Implement forget password endpoint | 532 |
Backend - edit content api | 533 |
Backend - implement tests for new endpoints (content, content-list, enroll) | 534 |
Backend - Implement User Profile Page Api | 535 |
Backend - [BUG] Can Not Run Unittests | 539 |
Backend - Implementing Image Upload | 546 |
Backend - updating API Doc | 595 |
Individual Report - Mustafa Atay | 663 |
Pull Request Title | Link |
---|---|
Backend First Models, Serializers and Implementation of Environment Variables | 513 |
Backend Content Update Api | 538 |
Backend image storing | 571 |
Backend tests | 633 |
Milestone3:
Issue Title | Link |
---|---|
Changing Theme and Logo | 719 |
Frontend - Creating New UI Theme | 720 |
Frontend - Updating UI of Profile Pages and Side Bar | 753 |
Frontend - Updating Footer | 754 |
Frontend - updating favicon | 784 |
Frontend - Annotation Research | 785 |
Frontend: For Deployment | 830 |
Frontend - Updating UI of Landing Page, and Detail Page | 874 |
Frontend - Newly Added Learning Space Not Show Error | 875 |
Frontend - Updating UI of Resource Page | 878 |
Frontend - Updating UI of Add and Edit Resource Pages | 879 |
Frontend - Profile Page Update Functionality Not Working | 880 |
Frontend - Updating UX/UI of Profile Page | 882 |
Mustafa Atay - Creating Mock Data | 883 |
Mustafa Atay - Milestone 3 Reports | 958 |
Pull Request Title | Link |
---|---|
Frontend UI update | 766 |
Frontend Annotations | 846 |
update ui of landing page, detail page and fix containers | 873 |
Milestone1:
Issue Title | Link |
---|---|
Defining and Creating New Branches For Android App | Issue #334 |
Creating First Android Project and Branch | Issue #335 |
Organized our Kotlin Project folder | Issue #341 |
Android team meeting - Kotlin backend connection | Issue #385 |
Initialization of Android Studio | Issue #406 |
Learning Android Studio and Kotlin | Issue #409 |
Sign in page for Android App | Issue #439 |
Meeting with the Android team for milestone1 | Issue #440 |
Signin Page Backend Connection and Design | Issue #442 |
Group meeting with the Android Team | Issue #445 |
Preparation of milestone 1 | Issue #446 |
Android mockup and scenario for milestone1 | Issue Link |
Pull Request Title | Link |
---|---|
Android main - Branch pull request testing | PR#420 |
Adding Android Latest Files to Master | PR#436 |
Updating budemi_android_main from Android main | PR#427 |
Milestone2:
Issue Title | Link |
---|---|
Customer meeting evaluation. | 503 |
Milestone 2 objectives for the Android team | 504 |
Android Meeting. | 541 |
Development of Homepage. | 542 |
Meeting with Android team. | 544 |
Development of new architecture for mobile application, making splash screen, Creating a homepage for application, integrating open source codes and libraries that can be used in the application | 639 |
Pull Request Title | Link |
---|
Final Milestone:
Issue Title | Link |
---|---|
Creating Splash Screen | Issue #919 |
Searching for 3rd party libraries to make the application interface look more modern | Issue #922 |
Design and Creation of Landing Page | Issue #925 |
Redesign sign in page | Issue #927 |
Redesign sign up page | Issue #928 |
Fix landing page | Issue #929 |
Fix linking error, set AndroidManifest configurations | Issue #930 |
Development of Onboarding Activity | Issue #932 |
Set application settings | Issue #934 |
Reviewing Android app for bugs | Issue #937 |
Creating Mock Data | Issue #939 |
Objectives of Android Team for Milestone3 | Issue #941 |
Individiual Report | Issue #963 |
Researching and Developing codes for animation files | Issue #964 |
Editing android part for final milestone | Issue #965 |
Pull Request Title | Link |
---|---|
Adding Android Latest Filest to Master for final milestone | PR#943 |
Add App Icon to Android | PR#826 |
Set application configuration settings | PR#829 |
Add Splash Screen and Onboarding Activity | PR#885 |
Fix linking error, set AndroidManifest configurations | PR#895 |
Change Design of Sign in page | PR#907 |
Change Design of Sign Up Page | PR#908 |
Add Landing Page | PR#912 |
Isuue Title | Link |
---|---|
Unit Tests for APIs - Milestone 3 | #620 |
Edit Notes Feature - Milestone 3 | #759 |
Get Method to Retrieve User ID - Milestone 3 | #780 |
Add an .env File to Backend Django Project - Milestone 3 | #834 |
Profile Image as TextFiled - Milestone 3 | #835 |
Takin Notes Feature - Milestone 3 | #744 |
Profile Page Update - Milestone 3 | #845 |
Unit Tests for New Features - Milestone 3 | #850 |
Create Learning Spaces and Add Resources - Milestone 3 | #944 |
API Endpoints Part of the Final Milestone - Milestone 3 | #952 |
Individual Milestone Report - Milestone 3 | #953 |
Unit Tests Part of the Final Milestone - Milestone 3 | #954 |
Edit learning space model fields as required by frontend and mobile team - Milestone 3 | #742 |
Update API documentation With New Features - Milestone 3 | #844 |
Create serializer and POST method for LearningSpace model - Milestone 2 | #514 |
Update API Documentation - Milestone 2 | #537 |
Profile Page API - Milestone 2 | #558 |
API documentation for created APIs - Milestone 2 | #564 |
Reset Password Feature - Milestone 2 | #565 |
Backend- Unique and Valid Email - Milestone 2 | #567 |
Leave Learning Space and Get Enrolled Learning Spaces - Milestone 2 | #570 |
Unit Tests for APIs - Milestone 2 | 620 |
Individual report - Milestone 2 | 664 |
API Endpoints Part of Milestone 2 - Milestone 2 | #665 |
Reviewing the Project Briefing Page - Milestone 1 | #287 |
Create an Issue Template - Milestone 1 | #288 |
Learn Django - Milestone 1 | #317 |
Learn Dockerizing - Milestone 1 | #331 |
Using Django REST framework - Milestone 1 | #343 |
Find a Tutorial for Applicaiton Functionalities - Milestone 1 | #454 |
Implementing register functionality - Milestone 1 | #370 |
Individual Contribution Report - Milestone 1 | #453 |
Individual contribution to group report - Milestone 1 | #494 |
Contribute to Evaluation of Deliverables part of Milestone 1 - Milestone 1) | #497 |
Pull Request Title | Link |
---|---|
Edit learning space model fields as required by frontend and mobile team - Milestone 3 | #742 |
Get Method to get user id from username - Milestone 3 | #779 |
Connect Django project with env file - Milestone 3 | #789 |
Get method in getuseridAPIView was missing so I fixed it - Milestone 3 | #790 |
Profile image filed was an ImageFiled but mobile team requested it as TextField - Milestone 3 | #791 |
Edit note feature is created. Patch method is implemented in noteAPIview - Milestone 3 | #770 |
Learning Space Features - Milestone 3 | #741 |
Patch method to update profile is implemented - Milestone 3 | #838 |
Unit tests for profile page, taking notes feature and getting user id - Milestone 3 | #849 |
Unit test for profileApiView patch method is implemented. - Milestone 3 | #860 |
Currently, a user can see all notes, but a user can only see his/her own note. I fixed this bug - Milestone 3 | #869 |
Reviewing Ege's PR- Milestone 3 | #635 |
Reviewing Ege's PR- Milestone 3 | #756 |
Reviewing Ege's PR- Milestone 3 | #853 |
Reviewing Ege's PR- Milestone 3 | #858 |
Reviewing Ege's PR- Milestone 3 | #861 |
change password unit test is added - Milestone 2 | #505 |
Profile Page - Milestone 2 | #554 |
Password reset - Milestone 2 | #562 |
Bug fix: valid and unique email - Milestone 2 | #566 |
Leave learning space and get enrolled learning spaces - Milestone 2 | #569 |
Bug Fix: Profile Page Update Learning Spaces - Milestone 2 | #574 |
enrolled learning spaces and leave learning space tests are written - Milestone 2 | #534 |
Forget Password test - Milestone 2 | #641 |
My individual contribution report is added - Milestone 1 | #479 |
Milestone 1
Issue Title | Link |
---|---|
Creating an Authentication Page with React.js | #336 |
Request to use Issue Panel | #361 |
Permission Request for Pushing Commits to GitHub | #363 |
We need a label named 'Meeting' | #390 |
Reorganizing Code Structure According to Last Changes | #392 |
Reviewing the Issues | #463 |
Checking the Pull Request of react-authentication-page | #466 |
Group Review (Milestone 1) - Evaluation of Tools and Processes: Discord, GitHub | #493 |
Group Review (Milestone 1) - Responsibilities and Summary of Individual Work | #498 |
Group Review (Milestone 1) - Evaluation of Deliverables | #499 |
Pull Request Title | Link |
---|---|
React authentication page | PR#395 |
Update Customer_Milestone_1.md | PR#481 |
Milestone 2
Issue Title | Link |
---|---|
Checking the Pull Request of react-authentication-page | #466 |
Meeting for Learning Space Page Design | #522 |
Addition of New Branches | #523 |
Learning Space Detail Page Design | #530 |
Backend API Documents View | #617 |
Meeting for Milestone 2 Tasks | #626 |
Group Review (Milestone 2) Responsibilities and Summary of Individual Work | #672 |
Pull Request Title | Link |
---|---|
Adding addcontent dropdown and join button | PR#612 |
Milestone 3
Issue Title | Link |
---|---|
Completing Missing Tasks After Milestone 2 | #681 |
Meeting with Kamil to Shape Our Roadmap | #682 |
Reviewing & Merging Pull Request | #685 |
Reviewing & Merging Pull Request | #688 |
Creating Learning Space | #765 |
Reviewing and Merging Pull Request | #797 |
Adding 'upvote' Feature for a Learning Space | #798 |
Fixing 'join' Button for a Learning Space | #801 |
Reviewing Issues | #802 |
Updating README File for Instructions of Installing Dependencies | #881 |
Testing Latest Version of Frontend App | #926 |
Fixing 'Undefined' Bug in Resource Page | #935 |
Checking PR and Merging Frontend Branch to Master | #938 |
Editing Wikipage for Weekly Individual Works | #946 |
Pull Request Title | Link |
---|---|
Update group_milestone_review.md | #677 |
Summary of work in tabular format is added | #678 |
GitHub Issue Templates | #680 |
Some of Missing Functionalities Added to Space's Detail Page | #700 |
Revert "Some of Missing Functionalities Added to Space's Detail Page" | #701 |
Clicking Twice Bug Resolved | #933 |
Instructions of Frontend App Dependencies Updated | #889 |
Issue Title | Link |
---|---|
Frontend: Form Validation | #396 |
Frontend: Creating Forgot Password Page | #399 |
Updating Personal Wiki Page | #310 |
Kamil Korkut - Individual Contribution Report | #461 |
Pull Request Title | Link |
---|---|
React authentication page | PR#395 |
Issue Title | Link |
---|---|
Frontend - Add content and Join | #563 |
Frontend: Connecting the join button to the enroll api | #611 |
Frontend: Add Content Dropdown Popup | #631 |
Learning Space Detail Page Design | #530 |
Pull Request Title | Link |
---|---|
adding addcontent dropdown and join button | PR#612 |
Issue Title | Link |
---|---|
Missing tasks of milestone 2 | Issue#683 |
Frontend: Add content functionality | Issue#687 |
Frontend: Changing "content" to "resource" on the learning space page | Issue#723 |
Frontend: Displaying Members on the Learning Space Page | Issue#724 |
Frontend: Change Add Resource Functionality | Issue#725 |
Frontend: Add Markdown Resource | Issue#751 |
Frontend: Add Favorite and Unfavorite Functionalities | Issue#792 |
Frontend: Display all LS info | Issue#831 |
Pull Request Title | Link |
---|---|
learning space page is added | #684 |
add content functionality is added | #686 |
resource functionality and displaying members on learning space improved | #726 |
delete .next folder and update next.config | #833 |
add description display | #914 |
Issue Title | Link |
---|---|
Frontend: Content page | #589 |
Frontend: New Aws Account | #576 |
Frontend: Resource page | #813 |
Frontend: Resource improvements on Discussion and Upvote functionality | #814 |
Frontend: Resource, upvote | #815 |
Frontend: Resource, Notes | #816 |
Frontend: Resource, edit page | #817 |
Add data to the database for final presentation | #818 |
Frontend: Resource, note, bugfix | #872 |
Frontend: UI/UX and Scenario for Milestone 3 | #962 |
Frontend: Contents page implementation (type: text) (static) | #525 |
Frontend: Report of Group Meeting 28.11.2022 | #559 |
Frontend: Content page | #589 |
Frontend: Extra Meeting | #580 |
Upload meeting notes #10 | #291 |
Upload meeting notes #11 | #325 |
Upload meeting notes #12 | #326 |
Upload meeting notes #13 | #400 |
Organize meeting notes links | #293 |
Learn and practice React | #319 |
Create outline for the Customer Milestone 1 report | #401 |
Individual contribution to Customer Milestone report 1 | #402 |
Frontend - Profile Page implementation | #450 |
Frontend - Project plan | #458 |
Evaluation of tools and processes: Github, Discord, WhatsApp, and React.js | #484 |
Individual contribution to group report (Customer Milestone 1) | #485 |
Pull Request Title | Link |
---|---|
Frontend resourcev1 - logo fix | PR#871 |
personal notes is now only one single note | PR#870 |
empty url fields are replaced with non-empty string | PR#854 |
Frontend resourcev1 Edit resource & my notes | PR#852 |
Frontend resourcev1 | PR#832 |
Contents detail page - type: text (static) | PR#524, PR#529 |
Frontend content | PR#588 |
Review: Milestone 1 report and approve pull request | PR#476 |
Profile page is added | PR#449 |
Milestone 1 Issue Title | Link |
---|---|
Who checks what? #281 | #281 |
Repository Contributors #282 | #282 |
Reviewing GDPR Rules #294 | #294 |
Reviewing the KVKK Rules #295 | #295 |
Correcting the ambiguity on the issue #281 #296 | #296 |
Rewieving Communication Plan #301 | #301 |
Rewieving the Homepage #303 | #303 |
Know-How about Docker #307 | #307 |
Outcomes of the meeting on 11.10.2022: #308 | #308 |
Frontend Team Meeting #318 | #318 |
We need labels like Frontend,Backend, etc. #321 | #321 |
React Learning #322 | #322 |
Group Mail #324 | #324 |
Issue Template V2 #330 | #330 |
Meeting with the team #344 | #344 |
Frontend: Usage of Mui #374 | #374 |
Frontend: Sync with the Huseyyin Seyyid #375 | #375 |
Frontend: Onclick funtion over href #377 | #377 |
Frontend: What is API over ReactJS? #376 | #376 |
Frontend: How to run reactjs on other ports? #378 | #378 |
Frontend: Create temporary logo #379 | #379 |
Frontend: Research of the domain name #380 | #380 |
Frontend: What is CSS? #381 | #381 |
Frontend: Homepage v1 (template) #382 | #382 |
Frontend: API iplementations of sign-up and sign-in pages #383 | #383 |
Frontend: for the v0.2, needs #387 | #387 |
Frontend: Group meeting #389 | #389 |
Frontend: Content of the Homepage #394 | #394 |
Frontend: Profile Page #430 | #430 |
Frontend: Token on local storage #433 | #433 |
Frontend: Logout page #435 | #435 |
Frontend: with the help of @egetaga, Dockerfile #464 | #464 |
Frontend: Data structure of webpage #468 | #468 |
Frontend: Review of requirements #470 | #470 |
Frontend: Review of glossary #471 | #471 |
Frontend: Final version #472 | #472 |
Frontend: NPM #473 | #473 |
Frontend: Forgot password #474 | #474 |
Frontend: Open AWS account #488 | #488 |
Frontend: Learn how to decorize a react project #490 | #490 |
Frontend: How to deploy an dockerized project #491 | #491 |
Customer Milestone 1 : Individual work #492 | #492 |
Milestone 2 Issue Title | Link |
---|---|
Work on Mui | 373 |
Frontend: Deployment of our project | #512 |
Frontend: NextJS | 527 |
Frontend: Auth Layer | 528 |
Backend: Logout Endpoint | 531 |
Frontend: Dockerizing and deploying an hello-world project | #511 |
Frontend: Homepage | 579 |
Frontend: Profile Page | 578 |
Frontend: Change password | 658 |
Frontend: Auth Layer of the Project | 581 |
Frontend: New Aws Account | 576 |
Frontend: Deployment | 638 |
Frontend: Create a Learning Space | 659 |
Frontend: NextJS Framework | 577 |
Frontend: AWS Instance - Docker | #509 |
Frontend: Domain of the instance | #510 |
Frontend: Deployment of Frontend | 583 |
Frontend: Readme file fixed | 670 |
Frontend: README | 655 |
Frontend: Dockerfile | 638 |
Frontend: EC2 and Route53 | 657 |
Frontend: Filter button over the learning spaces | 660 |
An update on Requirements 1.2.2.1 Profile Specifications | 637 |
Frontend: Progress of my task | 582 |
Frontend: Extra Meeting with @ecesrkn | 580 |
Frontend: Report of Group Meeting 28.11.2022 | 559 |
Frontend: Extra group meeting with @ecesrkn | 661 |
Milestone 3 Issue Title | Link |
---|---|
Frontend: Homepage | 579 |
Frontend: Cards version | 727 |
Frontend: Creating Learning Space | 728 |
Backend: Photo of a Learning Space | 729 |
Backend: Cors problem | 730 |
Frontend: Meeting with @ecesrkn | 748 |
Frontend: Annotations #749 | 749 |
Frontend: Homepage and Resource Page are Merged | 750 |
Frontend: Solving @ecesrkn problems | Link |
Frontend: Home Button | 822 |
Frontend: New Version of the Homepage | 827 |
Frontend: Forgot Password | 819 |
Frontend: Font is changed | 824 |
Frontend: New Profile Page | 825 |
Frontend: For Deployment | 830 |
Frontend: Sync of the team | 820 |
Frontend: AWS Account | 821 |
Backend: Cors problem | 730 |
Frontend: Sync with the Mobile team | 823 |
Frontend: Create a Learning Space Page | 828 |
empty url fields are replaced with non-empty string | 852 |
Home Page Favorite Learning Spaces | 848 |
Frontend: Last Meeting | 855 |
Backend dev test bugfix | 856 |
Frontend-Kadir -> Frontend: Homepage, Profile | 857 |
Unittests: content edit, fav, unfav user from id | 858 |
Frontend-kadir -> Frontend | 867 |
Instructions of Frontend App Dependencies Updated | 889 |
Frontend: Mock Data | 896 |
Frontend: DockerHub | 897 |
Frontend: CI&CD | 898 |
Currently, a user can see all notes, but a user can only see his/her own note. I fixed this bug | 869 |
Frontend -> Master | 899 |
Frontend: Profile Page | 900 |
Frontend: Forgot Password | 902 |
Frontend: Mock Data | 906 |
Frontend: Last Sync | 940 |
Frontend: Mock Data | 936 |
Frontend: Deployment of the final version | 945 |
Milestone 1 Pull Request Title | Link |
---|---|
Changes according to the new term #302 | PR#302 |
addition of newcomers #305 | PR#305 |
0.1.0-alpha #475 | PR#475 |
All the contributions are added #476 | PR#476 |
Added my last issues #478 | PR#478 |
deliverables are okay now #480 | PR#480 |
Milestone 2 Pull Request Title | Link |
---|---|
The merged version of frontend-kadir and frontend-content | 636 |
Docker file updated | 654 |
Create frontend_project_plan.md | 465 |
Frontend content | 588 |
Commands of the nextjs is added | 656 |
Instructions of frontend is added to Readme | 667 |
Milestone 3 Pull Request Title | Link |
---|---|
(Review) empty url fields are replaced with non-empty string | 852 |
(Review) Home Page Favorite Learning Spaces | #848 |
(Review) Instructions of Frontend App Dependencies Updated | 889 |
(Review) Backend dev test bugfix | 856 |
Frontend-Kadir -> Frontend: Homepage, Profile | 857 |
(Review) Unittests: content edit, fav, unfav user from id | 858 |
Frontend-kadir -> Frontend | 866 |
Frontend-Kadir -> Frontend: Homepage, Profile | 867 |
Frontend-kadir -> Frontend | 867 |
(Rewview) Currently, a user can see all notes, but a user can only see his/her own note. I fixed this bug | 869 |
Frontend -> Master | 899 |
Issue Title | Link |
---|---|
Android: Requirement changes progress | #647 |
Android: Profile Page - Image POST API / Android | #604 |
Android: Milestone 2 Tag | #586 |
Android: Updating requirements to match current project plan - Android | #585 |
Android: Adding profile creation page for new users. | #575 |
Android: profile page Bugfix - Android | #572 |
Android: profile page creation, functionality - Android | #553 |
Android: APK Icon Set - Android | #630 |
Android: Create - Edit Profile Page - Android | #594 |
Android: Work Distribution - Android | #587 |
Android: Profile Page Endpoints Change Proposal - Android | #573 |
Android: Android Team Meeting | #515 |
Android: Customer Meeting Evaluation - Android Team | #503 |
Android: Collaborative Work on Android Studio | #346 |
Android: Initial Homepage Commits | #349 |
Android: View Binding Decision | #358 |
Android: Buttons for Homepage | #366 |
Android: Visibility Change on Guest | #417 |
Android: Sequence Diagram Revisions | #309 |
Android: Android Team Meeting | #357 |
Android: Modifying Requirements | #421 |
Android: Scenario & Mockups | #438 |
Android: Creating Individual Report Template for Milestone 1 | #424 |
Android: profile page creation, functionality - Android | #553 |
Android: Adding profile creation page for new users | 575 |
Android: Create - Edit Profile Page - Android | #594 |
Android: Android Team - Milestone 2 Coding Part Finished | #600 |
Android: Profile Page - Image POST API / Android | #604 |
Android: APK Icon Set - Android | #630 |
Android: Customer Meeting Evaluation - Android Team | #503 |
Android: Android Team Meeting | #515 |
Android: Updating requirements to match current project plan - Android | #585 |
Android: Profile Page Endpoints Change Proposal - Android | #573 |
Android: Milestone 2 Tag | #586 |
Android: Work Distribution - Android | #587 |
Android: Implementation and Editing Action Bar | #707 |
Android: App Icon Changed - Android | #877 |
Android: Added navigation bar to Change Password - Android | #892 |
Android: Added navigation bar to Create Profile | #893 |
Android: Bugfix - Android | #918 |
Android: Navigation Bar on All Pages - Android | #769 |
Android: Changing Budemi APK icon - Android | #796 |
Android: Need to Add Navigation to Other Pages - Android | #891 |
Android: Mock Data and Rehearsal for Milestone 3 - Android | #920 |
Android: Adding resources for learning space Python | #931 |
Pull Request Title | Link |
---|---|
Android dev ahmet branch, profile page changes | PR#599 |
Profile changes finished - Android | PR#545 |
First Pull for Homepage | PR#348 |
Buttons added on Homepage | PR#365 |
Finalized Budemi Android Team | PR#418 |
PCreating a Fresh Branch for Working Code | PR#429 |
Deleting Android from Master Because of an Error | PR#432 |
Android main | PR#884 |
navigation bar added to change password | PR#888 |
navigation bar added to create profile | PR#894 |
deleted android w/ omer | PR#911 |
Android main | PR#886 |
Issue Title | Link |
---|---|
Review of Semantic Search, Fundamental Features of the Project and Project Libre File | Issue Link |
Creating project plan | Issue Link |
Meeting with the Android team | Issue Link |
Initialization of Android Studio | Issue Link |
Creating Android label | Issue Link |
Sign-in and Sign-up pages for Android Application | Issue Link |
Sign up page for Android App | Issue Link |
Meeting with the Android team for milestone1 | Issue Link |
Android Studio gradle not working | Issue Link |
Final design of sign-up page for Android | Issue Link |
Android Sign-up page back-end connection | Issue Link |
Android group meeting | Issue Link |
Group meeting with the Android Team. | Issue Link |
Android Sign-up page - Message disappears after 2000ms | Issue Link |
Studying Kotlin Retrofit- Ömer Özdemir | Issue Link |
Studying Kotlin Fundamentals - Ömer Özdemir | Issue Link |
Studying Kenny Catch Game Kotlin - Ömer Özdemir | Issue Link |
Studying OOP Kotlin - Ömer Özdemir | Issue Link |
Android mockup and scenario for milestone1 | Issue Link |
Adding Individual Report into the Customer Milestone 1 wiki. | Issue Link |
Contributing to the group report of milestone1. | Issue Link |
Pull Request Title | Link |
---|---|
Bug fix for user logout page. (user_token is set to "") | #452 |
Milestone 1 report added) | #451 |
Budemi Android partially completed.) | #397 |
Issue Title | Link |
---|---|
Android API Infrastructure for back-end APIs | Android API Infrastructure for back-end APIs: |
Learning Space Stage 3 functionality | Learning Space Stage 3 functionality is fully implemented. |
Learning Space Stage 2 Functionality | Learning Space Stage 2 Functionality is implemented. |
Add Content design is implemented | Add Content design is implemented. |
Add Content functionality is implemented | Add Content functionality is implemented. |
Leave Button Functionality is implemented | Leave Button Functionality is implemented. |
Bug fix for profile page | Bug fix for profile page. |
Design of third phase of learning space | Design of third phase of learning space. |
Design of second phase of learning space | Design of second phase of learning space. |
Reviewing Osman's Work (The navigation bar) | Reviewing Osman's Work (The navigation bar) |
Milestone 2 objectives for the Android team | Milestone 2 objectives for the Android team |
Android meeting 20.11.2022 | Android meeting 20.11.2022 |
Meeting with Android team | Meeting with Android team |
Android preparing for milestone2 | Android preparing for milestone2 |
Meeting with Back-end Team | Meeting with Back-end Team |
Pull Request Title | Link |
---|---|
Api connection for GetContent, AddContent and Enroll is made | PR#584 |
Learning Space Add Content is done | PR#592 |
learningSpace2, topic click lands content page | PR#596 |
API connection for various endpoints is done. | PR#603 |
New back-end connections for android and some bug fixes | PR#605 |
Discussion is fully completed. Some design changes for learning space is made | PR#610 |
Some design changes for add content | PR#624 |
Budemi android version for milestone 2 is completed. | PR#632 |
Reviewing Osman's change password PR | PR #568 |
Reviewing Osman's Change Password and Learning Spaces PR | PR #593 |
Reviewing Osman's Android: Members parameters passed for learning space PR | PR #597 |
Reviewing Osman's bug fix PR | PR #598 |
Reviewing Ahmet's Android dev ahmet, profile page changes PR | PR #599 |
Reviewing Osman's Forgot password page implemented PR | PR #606 |
Reviewing Osman's LS Search Implemented PR | PR #627 |
Issue Title | Link |
---|---|
Android: Header Authorization Parameter | Issue#650 |
Introducing Jetpack library for Android app | Issue#652 |
New Button design and some configuration changes | Issue#690 |
Design improvement for Android | Issue#692 |
Learning Space Resource and Members new design | Issue#695 |
Learning Space Menu is created | Issue#694 |
Redesign of profile page | Issue#705 |
Sign-in and Sign-up design changes are made | Issue#706 |
Profile page enrolled learning spaces is seen | Issue#713 |
Bug fix for sign-up and forgot-password pages | Issue#715 |
Resource page new design is introduced | Issue#716 |
Resource (Notes,Discussion,Resource,Edit) functionality is done | Issue#652 |
Resize of creating discussing post | Issue#722 |
Resource page bottom bar becomes shorter and save functionality is added | Issue#736 |
Resource listing owner and votes is shown | Issue#738 |
Add/Remove favorite is added | Issue#739 |
Welcome to budemi text in homepage is made sliding | Issue#740 |
UI/UX improvement on resource page | Issue#745 |
Bug fix for profile page | Issue#747 |
Markdown is supported in resource page | Issue#752 |
Profile page image back-end connection is made | Issue#755 |
Add favorite back-end connection is made | Issue#762 |
Remove favorite back-end connection is made | Issue#763 |
User from id back-end infrastructure is made | Issue#764 |
Api connection for getting all notes in resource is made | Issue#777 |
Editting note back-end connection is made | Issue#781 |
Creating a note back-end connection is made | Issue#782 |
Content edit back-end connection is made | Issue#783 |
Implementation of upvote/downvote in resource page | Issue#810 |
Pull Request Title | Link |
---|---|
Milestone3 deliverables) | #843 |
Up vote and down vote functionality is implemented) | #809 |
Notes api connection is made) | #803 |
Profile page image and more back-end connection is made) | #758 |
UI/UX improvement on resource page and Markdown support) | #746 |
Resource and resource listing update for better UX) | #737 |
Profile Page enrolled courses are seen and redirected) | #714 |
Sign-in and Sign-up design changes) | #708 |
Profile page new design is introduced) | #776 |
Design improvement for Android app is done) | #693 |
New Button design and some config changes) | #691 |
Jetpack Library configuration for Android) | #679 |
Issue Title | Link |
---|---|
Backend - Bug Fix in the Profile Page - Milestone 3 | Backend - Bug Fix in the Profile Page |
Backend - Favorites bug - Milestone 3 | Backend - Favorites bug |
Backend - Implementing annotations API - Milestone 3 | Backend - Implementing annotations API |
Backend - Creating a project and deploying it into AWS EC2 instance for the annotations - Milestone 3 | Backend - Creating a project and deploying it into AWS EC2 instance for the annotations |
Backend - Bugfix in the profile page -Milestone 3 | Backend - Bugfix in the profile page |
Meeting for the final customer presentations - Milestone 3 | Meeting for the final customer presentations |
Writing Executive Summary - Milestone 3 | Milestone 3: Writing Executive Summary |
Writing Standards Section - Milestone 3 | Milestone 3: Writing Standards Section |
Writing Software Package Section - Milestone 3 | Milestone 3: Writing Software Package Section |
Implementing the discussion APIs - Milestone 2 | Backend - Implementing the Discussion API |
Implementing Searching and Listing for Learning Spaces - Milestone 2 | Backend - Implementing Searching and Listing for Learning Spaces |
Bugfixing and adding tag functionality - Milestone 2 | Backend- bugfix and adding tag functionality |
Implementing Tag Search API - Milestone 2 | Backend - Implementing Tag Search API |
Writing an API doc for my APIs - Milestone 2 | Backend - Writing an API doc for my APIs |
Leave Button Functionality is implemented - Milestone 2 | Leave Button Functionality is implemented. |
Backend - Implementing image upload - Milestone 2 | Backend - implementing image upload |
Backend - Deployment into AWS - Milestone 2 | Backend - Deployment into AWS |
Meeting with Android Team - Milestone 2 | Meeting with Android Team |
Writing the executive summary - Milestone 2 | Milestone 2: Writing Executive Summary |
Writing the standards section - Milestone 2 | Milestone 2: Writing Standards Section |
Checking and updating Glossary/Requirements pages - Milestone 1 | Issue Link |
Reviewing Semantic Searching Page - Milestone 1 | Issue Link |
Adding communicator in the front page next to Ege Onur Tağa - Milestone 1 | Issue Link |
Learning Django - Milestone 1 | Issue Link |
Meeting with the backend team - Milestone 1 | Issue Link |
Dockerization and deployment onto AWS EC2 (backend) - Milestone 1 | Issue Link |
Implementing login, logout and change password functionalities (backend) - Milestone 1 | Issue Link |
Implementing unit tests for register, login, logout - Milestone 1 | Issue Link |
Preparing a presentation and scenarios for Milestone 1 Customer Meeting #405 - Milestone 1 | Issue link |
Preparing individual contribution report - Milestone 1 | Issue Link |
Editing Requirements about authentication slightly - Milestone 1 | Issue Link |
Dockerization and deployment of the frontend app - Milestone 1 | Issue Link |
Writing the executive summary of our group review - Milestone 1 | Issue Link |
Explaining the meaning of requirements for Milestone 1 in group review - Milestone 1 | Issue Link |
Pull Request Title | Link |
---|---|
Implemented user_id to user retrieve functionality - Milestone 3 | Implemented user_id to user retrieve functionality |
Backend dev favorite learning spaces - Milestone 3 | Backend dev favorite learning spaces |
Implemented editing content - Milestone 3 | Implemented editing content |
I implemented annotations support on the backend - Milestone 3 | I implemented annotations support on the backend. |
Bugfixed the multiple favorites problem - Milestone 3 | Bugfixed the multiple favorites problem |
Fixed the bug in the patch methd of profileApiView - Milestone 3 | Fixed the bug in the patch methd of profileApiView |
Backend dev test bugfix - Milestone 3 | Backend dev test bugfix |
Unittests: content edit, fav, unfav user from id - Milestone 3 | Unittests: content edit, fav, unfav user from id |
Tests for get, post, patch, delete for annotation - Milestone 3 | Tests for get, post, patch, delete for annotation |
Backend-Final Customer Milestone update - Milestone 3 | Backend-Final Customer Milestone update |
Backend dev discussion - Milestone 2 | Backend dev discussion |
Revert "Backend dev discussion" - Milestone 2 | Revert "Backend dev discussion" |
Backend dev discussion forum - Milestone 2 | Backend dev discussion forum |
Implemented an APIs searching and listing all Learning Spaces- Milestone 2 | Implemented an APIs searching and listing all Learning Spaces |
Implemented tagging, fixed bug,improved Learning Space API - Milestone 2 | Implemented tagging, fixed bug,improved LSpace API |
Implemented tag search functionality - Milestone 2 | Implemented tag search functionality |
I have prepared tests for discussion and search - Milestone 2 | I have prepared tests for discussion and search |
Backend Second Milestone Codebase - Milestone 2 | Backend Second Milestone Codebase |
Reviewing Kadir Kalkan's forget password tests PR - Milestone 2 | PR #641 |
Reviewing Mustafa Atay's project plan PR - Milestone 2 | PR #477 |
Reviewing Kadir Kalkan's valid unique e-mail bugfix PR - Milestone 2 | PR #566 |
Reviewing Kadir Kalkan's password reset PR - Milestone 2 | PR #562 |
Reviewing Kadir Kalkan's profile page PR - Milestone 2 | PR #554 |
Added communicator in parentheses - Milestone 1 | PR Link |
Backend-dev login-logout functionalities - Milestone 1 | PR Link |
Added test cases for login, logout, register - Milestone 1 | PR Link |
Adding the latest version of docker-configure.yml and Dockerfile - Milestone 1 | PR Link |
Merging Backend-Development for the Customer Meeting - Milestone 1 | PR Link |
Added the deleted readme.md - Milestone 1 | PR Link |
We have implemented the following requirements. Note: annotations are missing in frontend.
- authentication with email: sign up, sign in, login, logout
- profile with profile image and interests
- hiding private contents from guests
- joining and leaving learning spaces.
- learning space with resources and members
- editing learning space
- resource in markdown format
- contributors of resources
- creating and editing resource with mardown editor.
- forum (as chatting in resource page)
- searching
- tags
- homepage
- text and image annotations complying with W3C Standards
- personal notes
- up/down voting
▪ Links to the APIs
- Register: http://3.89.218.253:8000/app/register/
- Login: http://3.89.218.253:8000/app/login/
- Logout: http://3.89.218.253:8000/app/logout/
- Change Password: http://3.89.218.253:8000/app/change-password/
- Learning Space: http://3.89.218.253:8000/app/learning-space/
- Content: http://3.89.218.253:8000/app/content/
- Content List: http://3.89.218.253:8000/app/content-list/
- Enroll: http://3.89.218.253:8000/app/enroll/
- Discussion: http://3.89.218.253:8000/app/discussion/
- Discussion List: http://3.89.218.253:8000/app/discussion-list/
- Learning Space List: http://3.89.218.253:8000/app/learning-space-list/
- Learning Space Search: http://3.89.218.253:8000/app/learning-space-search/
- Learning Space Tag Search: http://3.89.218.253:8000/app/learning-space-tag-search/
- Profile: http://3.89.218.253:8000/app/profile/
- Reset Password: http://3.89.218.253:8000/app/forget-password/
- Enrolled Learning Spaces List: http://3.89.218.253:8000/app/enrolled-learning-spaces/
- Leave Learning Space: http://3.89.218.253:8000/app/leave-learning-space/
- User from ID: http://3.89.218.253:8000/app/user-from-id/
- Favorite a Learning Space: http://3.89.218.253:8000/app/favorite/
- Unfavorite a Learning Space: http://3.89.218.253:8000/app/unfavorite/
- Note: http://3.89.218.253:8000/app/note/
- User from Username: http://3.89.218.253:8000/app/user_id_from_username/
- Annotation: http://3.89.218.253:8001//app/annotation/
- Delete an annotation: http://3.89.218.253:8001//app/delete-annotation/
▪ Three examples of API calls corresponding to core functionality of your application, with instructions to access the functionality
- Postman Collection for the Final Milestone
- Postman Collection for the Milestone 1 and Milestone 2
We have successfully implemented text and image annotations on the web version of our application using the Recogito.js and Annotorious.js libraries, which ensure compliance with W3 standards. Users can create, update, and delete annotations, as well as reply to existing ones. In contrast, implementing annotations on the Android version was more challenging due to the lack of Kotlin libraries, so annotations are currently not available on that platform. We have designed a visually appealing user interface that fits with our theme and placed a strong emphasis on user experience in the design of the annotations. In addition, we have implemented a simple cache system to reduce API calls and ensure that annotations are fully synchronized with our backend.
We implemented annotations in both the backend and frontend, following W3C standards. In the backend, we created a separate application, completely separate from the main backend app for annotations. Moreover, we store the annotations adhering to W3C standards. The frontend also adheres to the same standards to use W3C web annotations. In addition, the backend team wrote their APIs in a way that adheres to REST standards, making it easier for the mobile and frontend teams to use our endpoints. By adhering to these standards, we were able to facilitate the adoption of our APIs by other teams.
- Use Pixel 3a XL API 33 for emulator
- Download APK and use Android Studio
- Or use android folder to build project with Android Studio
- System Requirements:
- 64-bit Microsoft® Windows® 8/10/11
- x86_64 CPU architecture; 2nd generation Intel Core or newer, or AMD CPU with support for a [Windows Hypervisor]
- (https://developer.android.com/studio/run/emulator-acceleration#vm-windows)
- 8 GB RAM or more
- 8 GB of available disk space minimum (IDE + Android SDK + Android Emulator)
- 1280 x 800 minimum screen resolution
- Drag the APK file to the emulator
- It will be automatically installed
- Then you can use the Budemi application
User:
- First a user should sign in to the system, if user doesn't have an account, must create an account via sign up page.
- After authorization credentials entered, user is directed to the profile page where user's favourite spaces and infos listed.
- User can edit 'About Me' section via clicking to the pencil icon or change profile photo by clicking on current photo.
- User can change password via 'Change Password' section in left sidebar.
- User can do these 4 actions on home page: switching to the home page, viewing a learning space, searching with typing or clicking on any tag and adding a new learning space.
- User can create a new learning space by filling the required fields.
- User can do these 6 actions on space detail page: joining or leaving from space, adding a new resource to the current learning space if is member of space, joining or leaving from space, seeing the resource list, seeing the members of this learning space, seeing the creating date of this learning space and adding favourite space list of learning space.
- By clicking on any resource, user is directed to resource detail page. In this page user can do such actions: displaying the contributors and notes on the left sidebar, giving an upvote or a downvote for this resource, looking at annotations, doing annotations, commenting on annotations and entering a comment for discussion.
System for development mode:
- 64-bit Microsoft® Windows® 8/10/11
- x86_64 CPU architecture; 2nd generation Intel Core or newer, or AMD CPU with support for a [Windows Hypervisor]
- 8 GB RAM or more
- 8 GB of available disk space minimum (IDE + Required Packages)
- 1280 x 800 minimum screen resolution
- Run the code with
npm run dev
command infrontend
folder - Dockerize the application if you want via "docker build ."
- Then you can use the BUDEMİ application
System for production mode:
- You just need realiable internet connection and a browser.
- Then, go to the website "budemii.space"
-
Online Learning Platform: An online platform that enables student to learn on their own without face-to-face communication.
-
Teacher: Anyone who knows a topic well and willing to teach it to other people.
-
Learner: Anyone who is interested in learning.
-
e-learning: Learning from digital platforms instead of on-site education.
-
Communication Channels: Channels that allow participants to interact with each other via asking questions, answering problems, discussing ideas, sharing resources etc.
-
Semantic Search: Searching for certain thing considering the meaning and the context of the word instead of the lexical structure.
-
Browsing: Glancing for some course/content/person randomly, possibly with the help of interface provided to the user.
-
Recommendations: Suggestions that are offered to the user considering their personal traits, previous usage, likes etc.
-
Learning Environment: An environment containing all the learning related things or activities. This includes teacher, learner, learning platform, quizzes, assignments and learning place...
-
Progress: A quantitative metric assessing how well the learners are continuing their learning process.
-
Reputation: A score for teachers gathered by the feedbacks of learners that evaluates the teaching performance.
-
Learning Experience: All the things related to learner's individual learning process. That includes their progress, feedbacks, evaluations etc.
-
User Profile: A virtual entity for the real user, which includes collection of information about a user describing her interests and knowledge.
-
Geolocation: Geographic location of a user.
-
Poll: Survey about a certain question or opinion.
-
RESTful API: An architectural style for distributed hypermedia systems.
1.1.1 Authentication
1.1.1.1 Sign up
- 1.1.1.1.1 Users shall sign up to enroll the courses on the online learning platform by specifying their username, password and an e-mail in the sign-up process.
- 1.1.1.1.2 Guest user’s username should not be taken by another account beforehand.
- 1.1.1.1.2 E-mail, password and username in the Android version can be at most 25 letters.
- 1.1.1.1.3 When guest user signs up, it automatically signs-in with the information given at sign-up step.
1.1.1.2 Username, password
- 1.1.1.2.1 A user shall select a unique username and a password containing at least 8 letters.
- 1.1.1.2.2 A user shall be able to change her password.
1.1.1.3 E-mail verification
- 1.1.1.3.1 A user shall be notified an account creation when they sign up to the system.
1.1.1.4 Sign in
- 1.1.1.4.1 A user shall enter her password correctly. If she fails to enter her password correctly six times, she shall be blocked from further retrying.
- 1.1.1.4.2 A user shall recover her password if she is blocked from further retrying, for typing wrong password six times.
1.1.1.5 Password recovery
- 1.1.1.5.1 A user shall be given a random password when they click on recover password button and type in their email address with username.
1.1.2 Profile
1.1.2.1 Profile Specifications
- 1.1.2.1.1 Every user shall have a profile page.
- 1.1.2.1.2 A user shall be able to upload a profile picture, specify their interests and location.
- 1.1.2.1.3 A user shall be able to follow other users and be followed back.
- 1.1.2.1.4 A user shall be able to see her followers.
- 1.1.2.1.5 A user shall be able to see her courses.
1.1.2.2 Privacy
- 1.1.2.2.1 Every user shall be able to hide her profile from the other user's accesses. If she hides herself, she shall be no longer seen by other users by any means.
- 1.1.2.2.2 Every user shall be able to partially restrict access to her profile from the other user's accesses. That is, hiding her courses, her followers, her badges etc. from other user's access.
1.1.3 Guest
- 1.1.3.1 Guest user shall be able to use the search feature and look for courses.
- 1.1.3.2 Guest user shall be able to see title and brief contents of a course.
- 1.1.3.3 Guest user shall sign up and create an account to enroll a course and see the full content.
- 1.1.3.4 Guest users should be able to sign-up
- 1.1.3.5 Guest users should be able to sign-in
1.1.4 Student
- 1.1.4.1 A user who enrolls a course shall be considered as a student.
- 1.1.4.2 Student shall be able to see the full course material.
- 1.1.4.3 Student shall be able to monitor his/her progress in the course. Progress should indicate the percentage of the viewed content in the course.
- 1.1.4.4 Students should be able to obtain achievements by progressing in the courses.
- 1.1.4.5 Student shall be able to contribute to the course via participating polls created by lecturers.
- 1.1.4.6 Student shall be able to take notes related to the learning material.
- 1.1.4.7 Student should be able to evaluate the lecturer. Evaluation shall be in two ways: from a rating in the range of 1-5, like or dislike.
1.1.5 Lecturer
- 1.1.5.1 A user who creates a course shall be considered as a lecturer.
- 1.1.5.2 Lecturer shall be able to upload video, image, or text material to the course page.
- 1.1.5.3 Lecturer shall be able to organize the course page.
- 1.1.5.4 Lecturer shall be able to create polls for the students. Polls shall be in 3 types: anonymous mode, multiple answers and quiz mode.
- 1.1.5.5 Lecturer shall have a reputation based on the feedback they have obtained from students
1.1.6 Events
- 1.1.6.1 Users shall be able to create events by providing the information on whether the meeting is online/in-person, whether there's going to be an entrance fee, amount of the entrance fee, date, time, and location.
- 1.1.6.2 Event holders shall be able to edit the related information fields (See 1.1.6.1) of their event.
- 1.1.6.3 Event holders shall be able to cancel or postpone their events.
1.1.7 Browsing and Searching
- 1.1.7.1 Users shall type on the search bar, press enter or click on the search button in order to search for a tag, course, or profile.
- 1.1.7.2 Users shall be able to inspect the summary of the course content without enrolling in them.
1.2.1 Searching
- 1.2.1.1 A user shall be able to search any topic with the search box in top of the page.
- 1.2.1.2 Results of the search will be in order based on section 1.2.3 in Requirements.
- 1.2.1.3 Searching shall be based on semantic searching.
- 1.2.1.4 Courses shall be searched in search bar of search page.
- 1.2.1.5 Users shall be able to be searched.
1.2.2 Pages
1.2.2.1 Profile Page
- 1.2.2.1.1 Profile page shall include profile picture, username and personal information considering user's privacy settings.
- 1.2.2.1.2 System shall be able to allow users to edit their profile picture and personal information on their profile page.
- 1.2.2.1.3 There shall be a follow button on every user's profile page, which users use to follow other people.
- 1.2.2.1.4 There shall be a chang-password button on every user's profile page, which users use to change their password.
1.2.2.2 Main Page
- 1.2.2.2.1 Main page shall include most popular courses for the guest users.
1.2.2.3 My Courses Page
- 1.2.2.3.1 My courses page shall show the courses that a user is enrolled or that a user created.
1.2.2.4 Course Pages
- 1.2.2.4.1 A course page shall include the course overview if a user is not enrolled yet, or the course content fully if a user is enrolled.
- 1.2.2.4.2 A course page shall be able to be fully customizable by a teacher.
- 1.2.2.4.3 A course page shall include a note-taking part.
1.2.3 Recommendations
- 1.2.3.1 Users will see recomended courses in the homepage.
- 1.2.3.2 The recommeded courses will be decided based on their interests that they chose at the beginning, courses to which users enrolled, and what they searched.
1.2.4 Note Taking
- 1.2.4.1 Users should have a page to take notes while taking the course.
- 1.2.4.2 Users should have access to different colors and fonts while taking notes.
- 1.2.4.3 User notes should stay unchanged when user loggs off.
1.2.5 Annotations
- 1.2.5.1 System shall support creating annotation on the screen.
- 1.2.5.2 System shall support to add text or images to the annotation.
- 1.2.5.3 System shall create hyperlink in the annotation if given text is a link.
1.2.6 Communication Channels
1.2.6.1 Messaging
- 1.2.6.1.1. System should support direct messaging between the registered users.
- 1.2.6.1.2 System should mark up all messages with corresponding timestamp just right corner of the username.
- 1.2.6.1.3 System should put the username of the sender just above the message.
- 1.2.6.1.4 System should hide messages happening between two users from the others.
- 1.2.6.1.5 System should save the messages in the database for forever.
- 1.2.6.1.6 System should support sharing of resource like image.
- 1.2.6.1.7 System should support text messages for discussing ideas.
- 1.2.6.1.8 System should support asking and answering questions.
- 1.2.6.1.9 System should support sharing of notes with other users.
1.2.6.2 Forum
- 1.2.6.2.1 System must have communication channels support.
- 1.2.6.2.2 System should support leaving comment for the lecturer.
- 1.2.6.2.3 System should support leaving comment for the course.
- 1.2.6.2.4 System should support sharing of resource like image.
- 1.2.6.2.5 System should make everyone to be able to write into forum page for discussing ideas.
- 1.2.6.2.6 System should support asking and answering questions on the forum.
- 1.2.6.2.7 System should make lecturers be able to create pools in three modes: anonymous mode, multiple answers, and quiz mode.
2.1 Privacy
2.2 Security
- 2.2.1 Registering email address should be valid and unique because of using that email address to activate account, change password.
- 2.2.2 Passwords must be at least 8 characters long and includes at least one uppercase letter, one lowercase letter, one number, one special character.
- 2.2.3 The system shall encrypt passwords with SHA-256 algorithm using a randomly generated salt. Passwords hashes and the respective salt shall be stored in the database.
- 2.2.4 Users cannot be able to perform actions without priveleges not defined for them. For example users should not access to data of other users.
- 2.2.5 New access tokens should be generated for every user and api endpoints should be protected with access tokens.
- 2.2.6 All inputs should be validated in order to mitigate attacks like SQL injection.
- 2.2.7 Password fields for login and logout user interfaces shoud be hidden.
2.3 Accessability
- 2.3.1 The platform should be accessed via Android application and web interface which should be responsive and support Chrome, Firefox, Safari, Edge and Opera.
- 2.3.2 The platform language should be English and support UTF-8 character encoding.
2.4 Performance & Realiability
- 2.4.1 At least 1.000 registered users with their actions should be satisfied simultaneosly.
- 2.4.2 At least 15.000 guest users should be able to inspect the system.
- 2.4.3 A user should have a response in at most 1.5 seconds excluding the delay based on the machine that the user uses.
- 2.4.4 The system should back up every data related the project in every 1 hour.
- 2.4.5 Updates on the system are done at the time that usage of the system has least users. This time will be determined 2 months after the first start.
2.5 Standards
- 2.5.1 The project should satisy the rules of W3C Standards.
- 2.5.2 The semantic should be based on wikidata.org.
Class Diagram
Sequence Diagrams




Use Case Diagrams
Unit tests are a crucial aspect of software development as they aid in verifying that code is functioning correctly and as intended. By writing these tests, we can confirm that our code is correctly performing its intended tasks and correctly handling unexpected input or error conditions. This can ultimately save time and effort by identifying bugs early on and preventing them from becoming larger problems later.
Django Rest Framework (DRF) is a comprehensive toolkit for building REST APIs within the Django web framework. It offers a variety of useful features and utilities that make it easier to construct APIs, including support for serialization, authentication, and permissions.
One advantage of using DRF is that it includes built-in support for testing APIs. The APITestCase class, which we utilize in our unit tests, is a subclass of Django's TestCase class that is specifically designed for testing APIs. It provides a number of useful methods for sending HTTP requests and examining responses, as well as creating and deleting a database for testing purposes.
Thanks to Django Rest Framework, we have implemented unit tests for the post, get, and patch methods of our endpoints. As a backend team, we have implemented unit tests for the following features:
- Register
- Login
- Logout
- Content
- Discussion
- Note
- Discussion list
- Learning space
- Reset password
- Change password
- Enrolled learning spaces
- Leave learning space
- Learning space list
- Favoriting a learning space
- Unfavoriting a learning space
- User from id
- User from username
- Annotation
Our frontend software is deployed at http://budemii.space/ an the backend software is deployed at: http://3.89.218.253:8000/. The annotations server is running at http://3.89.218.253:8001/.
The final release is accessible from there: https://github.com/bounswe/bounswe2022group1/releases/tag/customer-presentation-3
-> Checkout master branch
-> Enter into the directory "backend".
-> You should be in the same directory as docker-compose.yml and Dockerfile. Type:
-> sudo docker-compose build
-> sudo docker-compose up
Now, your app shoould be running. Note that, if the docker app's ports are already taken, then you should update the ports in docker-compose.yml. Also, you should have a .env file in the same directory where your docker-compose.yml file is located. In this file, you need e-mail and password specifications, which we didn't publish here. So, for learning them, please communicate with us.
-> Enter into the directory "frontend".
-> npm i
-> npm run dev
-> Checkout master branch
-> Enter into the directory "frontend".
-> Install dependencies with following commands:
npm i
npm install next-remove-imports
npm install @uiw/react-markdown-preview --save
npm install --save moment
npm i @uiw/react-md-editor
npm install sw
-> npm run dev (starts to serve)
You can install npm via https://docs.npmjs.com/downloading-and-installing-node-js-and-npm
-> Checkout master branch
-> Open Android Studio
-> In Android Studio, do the followings
1-Click on File
2-Click on Open
3-Choose the directory android folder
4-Click on Run (Use Pixel 3A XL API 33 for better experience)
Osman Fehmi ALBAYRAK
Member: Osman Fehmi Albayrak, Group1, Android, Online Learning Project (OLP), Personal Page
Responsibilities:
Milestone1:
- I was responsible for reviewing and updating the Class Diagram of our application.
- I am in the android sub-group, therefore, I was responsible for implementation of the android app with my team.
- I prepared a project plan for the android team, kept track of it and updated through the development process.
- I was responsible for reviewing others issues and helping them.
Milestone2:
- I was responsible for implementing a sidebar
- I was responsible for implementing a page for changing password
- I was responsible for implementing a list displaying learning spaces
- I was responsible for implementing the creating learning space functionality
- I was responsible for reviewing other teammates works, issues, pull requests and helping them.
Final Milestone:
- I was responsible for preparing a new UI/UX design for the app
- I was responsible for redesigning our application according to the new UI design
- I was responsible for improving our UI/UX design
- I was responsible for determining the Final Milestone objectives
- I was responsible for testing the android application
- I was responsible for fixing if bugs occur
- I was responsible for implementing annotations.
- I was responsible for preparing the home page
- I was responsible for implementing a profile editing page
- I was responsible for implementing image file upload API connections
- I was responsible for creating mock data for the presentation
- I was responsible for attending PSs and meetings.
- I was responsible for reviewing my teammates' works, helping their problems.
- I was responsible for reviewing my teammates' issues and their pull requests.
Main Contributions:
Milestone1:
- I have created a Kotlin Project and pushed to our android branch. We followed that structure and updated it as needed.
- I have implemented a swipe view for the team, so this component can be used in other pages.
- Also implemented a Landing Page which gives general idea about fundamental features of our app.
- I have reviewed and updated the UML Class Diagram of the app. Prepared a project plan for android team.
Milestone2:
- I have created a sidebar for displaying main categories of learning spaces
- Determined main categories for learning spaces: Art, Science, Math, Technology and Engineering
- I implemented a page displays learning spaces according to the selected category from the sidebar
- I added learning space create functionality to this page
- Omer and I provided a structure about API requests authorization and parameters for following at the rest of the project*
- I made the API connection of previosly designed Change Password page
- I prepared a page for resetting forgotten passwords and connected it to the Sign In page
- I prepared a search page for learning spaces and directed users from the home page
- I generated the APK of our application.
Final Milestone:
- We chose our app's color palette with Mustafa
- We designed the new UI/UX with Omer
- Determined what are the objectives for the Final Milestone
- Implemented a page for profile editing:
- I redesigned this page according to the new UI
- I added an icon for empty photo
- I implemented upload image functionality:
- Upon clicking upload image button an image picker shows up
- User selects image from their device
- Image is pulled to the applicaiton
- I made this icon selected image if there is one
- I added "x" button for deleting the selected image
- Converted the uploaded image into Base64 String format
- Requested endpoint update; changing image field type to a string
- After the update I connected the endpoint to our API call
- Returned user to the profile page
- Updated learning space list page according to the new UI and new endpoints:
- Introduced the new card view to the learning spaces list
- Binded the card view to the list
- I specified learning space names, descriptions, created ats and owner fields on these cards
- Requested updating fields of the related endpoints from the backend team
- After the endpoint update I displayed information on related areas
- Since description field added to the learning space:
- I updated learning space create dialog by adding a description input field
- Updated the Learning Space create API call according to the new endpoint
- Updated the sidebar according to the new UI and added couple of more functionalities to it:
- Budemi app logo was added to the top of it
- A line added for dividing logo and buttons
- Going to profile functionality moved here from the home page
- Signing out functionality moved here from the home page
- Sidebar's width is decreased since it was overlaping nearly the whole screen
- Made sidebar accessible from all pages
- Prepared the home page:
- Searchview moved to the homepage:
- Its color updated according to the new color palette
- Upon clicking to the view user is directed to the search page
- A view for favorite learning spaces added:
- Cards designed for learning space list is used here
- Added an empty card for displaying if there are no fav. learning spaces
- Clicking functionality added: user is directed to the related learning space
- A view for fav. learning space's resources added:
- When user swipes favorite learning space on the list above resources are updated according to it
- Clicking to a resource sends user to the resource page
- Added empty resource view if there are no resources
- Searchview moved to the homepage:
- Implemented the note editing functionality
- Made backend connections
- When user clicked to save button, the page is refreshed and new note is pulled from the backend
- I created ~10 realistic posts for the presentation and software package
Milestone1:
- Implementing an initial Landing Page: Issue #339
- Implementing a swipe view for Landing Page and others: Issue #391
- Integrating the swipe view into the Landing Page: Issue #393
Milestone2:
- Initial implementation of the side bar: Issue #517
- Initial implementation of the list of Learning Spaces: Issue #518
- Preparing API call structure: Issue #590
- Implementing Change Password page: Issue #591
- Final state of the Sidebar and Learning Spaces page: Issue #607
- Implementing create learning space functionality: Issue #608
- Implementing the reset password page: Issue #609
- Implementing the search functionality for learning spaces: Issue #628
- APK generation: Issue #629
Final Milestone:
- Improved android UI: Background, button, and text style changes: Issue #702
- Implemented a page for profile editing: Issue #709
- Learning Space List page updated: Issue #731
- Android navigation bar updated: Issue #734
- Search bar moved to the home page: Issue #767
- Favorite learning spaces added to the home page: Issue #772
- Search View related Bug is fixed: Issue #773
- Favorite learning Spaces API connection is completed: Issue #778
- Resources of Fav. Learning Spaces are listed on the home page: Issue #793
- Making the navigation bar accessible from all pages: Issue #795
- Home Page Resource Owner Bug Fixed: Issue #799
- Resource Update Bug fixed: Issue #805
- Resource Notes GET Bug fixed: Issue #806
- Editing Note Functionality implemented: Issue #807
- Empty notes related Bug fixed: Issue #811
- Profile page is implemented: Issue #841
- Home page empty favorite learning spaces design: Issue #847
- Learning space menu is favorite bug fix: Issue #865
- Trying to implement W3C Annotations, but failed: Issue #876
Milestone1:
- Reviewing the Class Diagram: Issue #290
- Initializing and Structuring Project File: Issue #341
- Preparing the Project Plan for the Android Team: Issue #441
- Deliverable folder created and merged to the Master: Issue #448
- Updating Scenario & Mockups for Android: Issue #443
Milestone2:
- Customer meeting evaluation: Issue #503
- Deciding the template of our application: Issue #504
- Sharing what works should be done by each team member: Issue #516
- Catching each others work and downloading docker: Issue #544
- Meeting with back-end: Issue #625
- Android UI/UX for Milestone2: Issue #643
Final Milestone:
- Preparing UI/UX design Android for Milestone2 with Omer: Issue #643
- Determining the objectives for the Milestone3: Issue #689
- Necessary API updates for the profile page determined and requested from teammates: Issue #711
- Necessary API updates for learning spaces determined and requested from teammates: Issue #712
- Creating mock data for the Milestone 3: Issue #924
- Preparing Android UI/UX and Related Codes for The Final Milestone: Issue #956
Pull Requests:
Milestone1:
Milestone2:
- API call structure and change password API connection: PR #568
- Learning space categorization and direction, bug fix for change password: PR #593
- Learning space list passes members list parameter for learning space page: PR #597
- Forgot password page implemented: PR #606
- Learning space search functionality implemented: PR #627
- Reviewing Omer's add content page PR: PR #592
- Reviewing Omer's add discussion implementation: PR #610
- Reviewing Omer's Milestone2 directories: PR #610
Final Milestone:
- Android: UI improvements: PR #703
- Profile edit page implemented: PR #710
- Learning Space List UI updated: PR #732
- Android: Navigation Bar Improvements: PR #733
- Search bar moved to the home page: PR #768
- Favorite learning spaces are listed on home page: PR #771
- Learning Space list connections done: PR #775
- Resources of Fav. Learning Spaces on the Home Page: PR #794
- Android Home Page: Resource owner bug fixed: PR #800
- Resource Update Bug fixed: PR #804
- Notes bug fixed, update functionality implemented: PR #808
- Empty notes related bug fix: PR #811
- Profile page implementation is done: PR #842
- Home Page Favorite Learning Spaces: PR #848
- Check is favorite: PR #864
- Deliverable folder created and updated for android: PR #916
- APK added for deliverables: PR #942
Unit Tests: I haven't implemented any unit tests. Since UI/UX depends on human interaction and endpoints are already tested by backend team, we did manual testing for possible cases.
Additional Information:
Milestone1:
We had meetings constantly with the android team and helped each other a lot during the development.
Milestone2:
We had many meetings during the development process and helped each others a lot. We splitted works should be done until the milestone 2 during these meetings, but some pages were not implemented. As a team we tried to complete those pages, for me, I implemented forgot, change password page and search page for learning spaces additionally. Further, we could have been more prepared for the milestone2. We will try harder for the next milestone.
Final Milestone:
It was my and other android team members' first time dealing with Kotlin. We had tough times through the development process of this project. As a good side, I am now at a nice level of developing android applications by using Kotlin though I don't prefer it. However, we failed to implement annotations functionality no matter how hard we try. This mainly because of we are not familiar with Kotlin and its tools. Another possible factor is that we started as 4 people on android team, but at the end of the day we were 2 people. Maybe, we could have managed the process better and devoted more time to implement annotations. On the other hand, we have improved our UI and UX a lot since the Milestone 2. These improvements were so satisfying for us. Besides these technical difficulties, developing a software product with other team members gave me lots of ideas about my future career. I learnt a lot about working with a team, its difficulties and advantages. To sum up, it was tough and enlightening process, and I am as thankful as I am exhausted.
Mustafa ATAY
Member: Mustafa Atay, Group1, Backend (milestone 1 and 2), Frontend (milestone 3), Online Learning Project (OLP) - Budemi, Personal Page
Responsibilities:
Milestone 1
I was responsible for creating the initial Django project. I took responsibility for dockerization. I organized the file structure so that all teams could work together. Also, I was responsible for updating the fundamental features page. I added some selected Udemy courses to the group's Udemy account. Moreover, I prepared the project plan for backend team and API documentation.
Milestone 2
- I was responsible for adding environment variables to the backend project.
- I was responsible for creating models and serializers for the learning space.
- I was responsible for implementing content and learning space APIs.
- I was responsible for implementing content list endpoints.
- I was responsible for implementing enroll endpoint.
- I was responsible for implementing "edit content API".
- I was responsible for solving an issue about not being able to log out.
- I was responsible for working on a bug preventing running backend tests.
- I was responsible for implementing image upload and retrieve functionality.
- I was responsible for updating API documentation according to the endpoints I wrote and updated.
- I was responsible for writing unit tests for the endpoints that I implemented.
- I was responsible for reviewing the issue and pull requests of my friends.
- I was responsible for explaining how to use docker to run backend code to the Android team.
Milestone 3
- I was responsible for creating a new theme with colors and fonts and a new logo.
- I was responsible for implementing theme change in frontend.
- I was responsible for updating UI of profile pages and sidebar.
- I was responsible for updating footer.
- I was responsible for updating favicon of website.
- I was responsible for researching annotations on frontend.
- I was responsible for implementing text and image annotations on frontend.
- I was responsible for connecting text and image annotatitons to our backend.
- I was responsible for updating UI of landing page and detail page.
- I was responsible for debugging "newly added learning space not shown" error.
- I was responsible for updating UI of resource page.
- I was responsible for updating UI of add and edit resource pages.
- I was responsible for fixing "bugy profile page update functionality".
- I was responsible for updating UX and UI of profile page.
- I was responsible for creating mock data for the final presentation.
Main Contributions:
Milestone 1
I have made further contributions while initializing the project. I dockerized the backend project. I took a role while selecting the tech stack we will use as a team. Moreover, I updated the fundamental features page, added Udemy courses to our group account, and prepared project plan and API documentation.
Milestone 2
I was responsible for implementing the initial models, serializers, update method, and image uploading for the project. I took the lead in researching and learning about these areas in Django, which helped make the work of my teammates easier. In addition, I actively participated in weekly meetings and played a key role in determining the frontend UX and backend design for the project.
Milestone 3
After failure of web during the milestone 2 presentation, I switched from the backend team to the frontend team because I had more experience with React than other members of the backend team. I wanted to contribute to the team by creating a new UI and bringing the Android and frontend teams together under one theme. In addition to updating the UI, I also worked to improve the organization of the team and followed up with each member's progress, including Hüseyin Seyid Kaplan, to meet deadlines. On the technical side, I implemented fully functional text and image annotations that followed W3 standards, and also helped the backend team implement the annotations API. I believe my efforts in the frontend team had a significant impact in milestone 3 and also had a positive influence on backend and android teams.
Milestone 1
- Dockerization and Deployment into AWS EC2: https://github.com/bounswe/bounswe2022group1/issues/345
- Initialization of project: https://github.com/bounswe/bounswe2022group1/issues/354
- Organizing file structure: https://github.com/bounswe/bounswe2022group1/issues/352
Milestone 2
Milestone 3
- Frontend - Creating New UI Theme
- Frontend - Updating UI of Profile Pages and Side Bar
- Frontend - Updating Footer
- Frontend - updating favicon
- Frontend - Annotation Research
- Frontend - Updating UI of Landing Page, and Detail Page
- Frontend - Newly Added Learning Space Not Show Error
- Frontend - Updating UI of Resource Page
- Frontend - Updating UI of Add and Edit Resource Pages
- Frontend - Profile Page Update Functionality Not Working
- Frontend - Updating UX/UI of Profile Page
Milestone 1
- Checking and updating fundamental features page: https://github.com/bounswe/bounswe2022group1/issues/304
- Adding courses to Udemy account: https://github.com/bounswe/bounswe2022group1/issues/328
- Preparing project plan: https://github.com/bounswe/bounswe2022group1/issues/459
- Preparing API documentation: https://github.com/bounswe/bounswe2022group1/issues/403
Milestone 3
Pull Requests:
Milestone 1
- Organize The Folder Structure : https://github.com/bounswe/bounswe2022group1/pull/350
Milestone 2
Milestone 3
Unit Tests:
Codes are here: #633
- I prepared unit tests for learning space
- I prepared unit tests for content
- I prepared unit tests for content list
- I prepared unit tests for content enroll
Additional Information:
Milestone 1
I had been working on this project and fulfilling my responsibilities as expected since the beginning of the class. I took further responsibility while creating initial Django project and application. However, I had a family-related urgency last week of the Milestone 1 deadline (27.10.2022 - 30.10.2022) and had to return to my family house. Unfortunately, I couldn't contribute a lot during that period.
Harun ERKURT
Member: Harun ERKURT, Group1, Android, Online Learning Project (OLP), Personal Page
Responsibilities:
Milestone1:
- Creating first android project and branch.
- Research about udemy course for android studio and kotlin.
- Development of Sign-in page
- Researching and sharing related libraries with the team in order to ensure backend communication
- Preaparation of android mockup scenario for milestone 1.
- Review other team member's work.
- Determining code development standards
- Preparation of milestone1
Milestone2:
Preparing a homepage, preparing a splash screen, making the relevant settings on android studio. Developing a new architecture because the existing architecture has shortcomings.
Final Milestone:
- I was responsible for creating splash-screen
- I was responsible for searching 3rd party libraries to make the application interface look more modern
- I was responsible for the design and creation of landing Page
- I was responsible for redesign sign-in page
- I was responsible for redesign sign-up page
- I was responsible for integration of lottie files for animation.
- I was responsible setting android manifest and gradle configurations, and app settings.
- I was responsible for determining the Final Milestone objectives
- I was responsible for testing the android application
- I was responsible for fixing if bugs occur
- I was responsible for creating mock data for the presentation
- I was responsible for attending PSs and meetings.
- I was responsible for reviewing my teammates' works, helping their problems.
- I was responsible for reviewing my teammates' issues and their pull requests.
Milestone1:
- I created first android project and branch.
- I organized our kotlin project folder.
- I searched udemy course for android studio and kotlin and shared this information with android team
- I have implemented sign-in page for Android.
- I determined that the retrofit library should be used in order to send requests to the backend.
- I participated in writing the android mockup scenario for milestone 1.
- I participated into the all group meetings both Android and overall team.
- I reviewed my team member's work.
- I solved my team member's problems that they encounter in Android Studio.
- I made an introduction to all group 1 about how to use github to have less conflict
- I helped prepare the android related chapters for the milestone 1 report.
Milestone2:
I developed a new architecture to strengthen the communication of the application with the backend, to reduce the errors that can be received and to develop better code. I also uploaded these codes to the android_main branch. I prepared the design for the home page and prepared the splash screen. Since I haven't been able to combine the codes of my other friends yet, we didn't show it during the presentation, but we will show it in the milestone 3 presentation.
Final Milestone:
- We chose our app's color palette with Mustafa
- I designed the new UI/UX for splash screen, landing page, signin page and signup page
- Determined what are the objectives for the Final Milestone
- Implemented a page for splash screen:
- I designed this page
- I integrated the 3rd party libraries
- I adjusted the waiting time on the splash screen according to the opening speed of the application
- I added a progress bar
- I researched lottie files in order to look more beautiful in terms of design
- I added some lottie files
- Searching for 3rd party libraries to make the application interface look more modern:
- Integration of 'com.airbnb.android:lottie:3.7.0' for lottie animation
- Integration of 'com.wang.avi:library:2.1.3 for progress bar
- Integration of "com.tbuonomo:dotsindicator:4.3" for material view pager
- Integration of me.relex:circleindicator:2.1.6 for indicator
- Integration of androidx.recyclerview:recyclerview:1.2.1 for displaying large sets of data in ui
- Design and Creation of Landing Page:
- I designed the landing page
- I added a lotie files for landing page
- I developed related codes for landing page
- I redesigned sign-in page
- I redesigned sign-up page
- Development of Onboarding Activity:
- I designed the page
- I developed related codes
- I added three lotie files for animation
- I added a button to go to the homepage
- Set application settings
- I added an app icon
- I changed application id to com.budemi.app
- I fixed gradle build error
- I fixed linking reseorce error
- I generated a keystore for building signed apk
- Research on Lottie Files and third party libraries about animation
- I researched on lottie files
- I researched on thirdy party libraries about animation
- I integrated the related lottie files
- I developed a code for lottie files
- I created ~5 realistic posts for the presentation and software package
- Reviewing Android app for bugs
Milestone1:
- Initialization of Android Studio: https://github.com/bounswe/bounswe2022group1/issues/406
- Sign in page for Android App: https://github.com/bounswe/bounswe2022group1/issues/439
- Signin Page Backend Connection and Design: https://github.com/bounswe/bounswe2022group1/issues/442
Milestone2:
- Development of Homepage: Issue #542
- Development of new architecture for mobile application: Issue #639
- Making splash screen: Issue #639
- Creating a homepage for application: Issue #639
- Integrating open source codes and libraries that can be used in the application: Issue #639
Final Milestone:
- Creating Splash Screen: Issue #919
- Searching for 3rd party libraries to make the application interface look more modern: Issue #922
- Design and Creation of Landing Page: Issue #925
- Redesign sign in page: Issue #927
- Redesign sign up page: Issue #928
- Fix landing page: Issue #929
- Fix linking error, set AndroidManifest configurations: Issue #930
- Development of Onboarding Activity: Issue #932
- Set application settings: Issue #934
- Reviewing Android app for bugs: Issue #937
- Developing codes for animation files: Issue #964
Milestone1:
- Defining and Creating New Branches For Android App: https://github.com/bounswe/bounswe2022group1/issues/334
- Creating First Android Project and Branch: https://github.com/bounswe/bounswe2022group1/issues/335
- Organized our Kotlin Project folder: https://github.com/bounswe/bounswe2022group1/issues/341
- Android team meeting - Kotlin backend connection: https://github.com/bounswe/bounswe2022group1/issues/385
- Learning Android Studio and Kotlin: https://github.com/bounswe/bounswe2022group1/issues/409
- Meeting with the Android team for milestone1: https://github.com/bounswe/bounswe2022group1/issues/440
- Group meeting with the Android Team: https://github.com/bounswe/bounswe2022group1/issues/445
- Preparation of milestone 1: https://github.com/bounswe/bounswe2022group1/issues/446
- Android mockup and scenario for milestone1: https://github.com/bounswe/bounswe2022group1/issues/455
Milestone2:
- Customer meeting evaluation: Issue #503
- Milestone 2 objectives for the Android team: Issue #504
- Android Meeting: Issue #541
- Meeting with Android team: Issue #544
Final Milestone:
- Set application settings: Issue #934
- Creating Mock Data: Issue #939
- Objectives of Android Team for Milestone3: Issue #941
- Research on Lottie Files and third party libraries about animation: Issue #964
- Individiual Report: Issue #963
- Editing android part for final milestone: Issue #965
Milestone1:
- Android main - Branch pull request testing: https://github.com/bounswe/bounswe2022group1/pull/420
- Updating budemi_android_main from Android main : https://github.com/bounswe/bounswe2022group1/pull/427
- Adding Android Latest Files to Master : https://github.com/bounswe/bounswe2022group1/pull/436
Milestone2:
Final Milestone:
- Adding Android Latest Filest to Master for final milestone : https://github.com/bounswe/bounswe2022group1/pull/943
- Add App Icon to Android : https://github.com/bounswe/bounswe2022group1/pull/826
- Set application configuration settings : https://github.com/bounswe/bounswe2022group1/pull/829
- Add Splash Screen and Onboarding Activity : https://github.com/bounswe/bounswe2022group1/pull/885
- Fix linking error, set AndroidManifest configurations : https://github.com/bounswe/bounswe2022group1/pull/895
- Change Design of Sign in page : https://github.com/bounswe/bounswe2022group1/pull/907
- Change Design of Sign Up Page : https://github.com/bounswe/bounswe2022group1/pull/908
- Add Landing Page : https://github.com/bounswe/bounswe2022group1/pull/912
Unit Tests: I haven't implemented any unit tests.
Additional Information:
Milestone1:
It was difficult to determine in which language and platform we will do the project. My suggestion was to develop in flutter and I had flutter experience, but in the meeting, we decided to develop the project in kotlin and android studio. But since no one knows about kotlin and android studio, I researched courses about kotlin and android studio and shared them with my team.
Milestone2:
I tried to develop a new architecture for android because the existing application had a lot of bugs and it was prolonging the code development process. Like other groups, a new architecture was needed for a better and more beautiful-looking application, but there was not enough time to migrate all the code to the existing architecture before the presentation. However, I have uploaded my enhancements to the android_main branch.
Final Milestone:
My friends in android team deleted all branches related to android and opened a new branch. Since I was not asked anything while doing these operations, all the codes that I had developed in milestone 2 were deleted. At the same time, I pushed the codes I developed one after another and the other people in the android team saw that there was a conflict when they made a pull request that they did not update the branches they were working on while developing the code. Instead of resolving Conflict, they preferred to revert my codes. That's why I noticed that my enhancements were deleted and they didn't tell me about it. Still, I opened a new branch called android_final_milestone, all my codes and apk file are located here.
Kadir Kalkan
Member: Kadir Kalkan, Group1, Backend, Online Learning Project (OLP) - Budemi, Personal Page
Milestone1
Responsibilities: I was responsible for learning how to use Django and dockerize the Django application. After the learning process, my task was dockerizing the Django application. Additionally, I was responsible to learn Django Rest Framework. Besides, one of my tasks was to find a tutorial to implement login, logout, and register functionalities.
Main Contributions: Following this tutorial, I learned how to construct a Django application and developed a basic Django application. I then dockerized this application. I built a Dockerfile and a docker-compose.yml file to dockerize the Django application. Then I presented the dockerized application to my teammates and then we decided to deploy this version of the project. After the dockerization and deployment process to connect the backend to the frontend and android, we decided to use Django Rest Framework. It was my responsibility to add the rest API feature to our application. I have learned how to use the Django Rest Framework and added this feature to our application. After that, we decided to push our project to Github. I created a new Django application with proper application and project names. Then dockerized this application and added the Rest Framework feature. Then we pushed this project to Github. Finally, we had to create login, logout, and register functionalities for our application. For that purpose, we first needed to learn how to implement these functionalities. I searched and tried lots of tutorials to implement these functionalities. Finally, I found this tutorial and suggested to the backend team to follow this tutorial. We followed this tutorial and implemented login, logout, and register functionalities.
- Dockerization of application: https://github.com/bounswe/bounswe2022group1/issues/331
- Adding Rest Framework feature to the application : https://github.com/bounswe/bounswe2022group1/issues/343
- Learning Django: https://github.com/bounswe/bounswe2022group1/issues/317
- Implementing register functionality: https://github.com/bounswe/bounswe2022group1/issues/370
- Reviewing the project briefing page: https://github.com/bounswe/bounswe2022group1/issues/287
- Creating an Issue Template: https://github.com/bounswe/bounswe2022group1/issues/288
- Deciding which library to use to implement register, login and logout functionalities: https://github.com/bounswe/bounswe2022group1/issues/454
Pull Requests:
- After Implementing register functionality changing some paramater names:https://github.com/bounswe/bounswe2022group1/pull/469
- Individual Contribution report is added: https://github.com/bounswe/bounswe2022group1/pull/479
Milestone2
Responsibilities:
- I was responsible for implementing POST method for the learning space endpoint.
- I was responsible for updating API document according to the endpoints I wrote and updated.
- I was responsible for implementing profile page API.
- I was responsible for implementing reset password API.
- I was responsible for fixing email bug for reset password endpoint.
- I was responsible for leave learning space API.
- I was responsible for get enrolled learning spaces API.
- I was responsible for writing unit tests for the endpoints that I implemented.
- I was responsible for reviewing and approving the pull requests of the backend team members.
- I was responsible for reviewing the issues of the backend team members.
- I was responsible for writing API endpoints part of Milestone 2.
Main Contributions:
- I implemented POST method for the learning space endpoint.
- I implemented get enrolled learning spaces, leave learning space, profile, forget password endpoints . Profile endpoint provides POST and GET methods. Leave learning space and forget password endpoints only provide POST method.
- I fixed a bug about forget password endpoint. To use this endpoint the given emil should be unique and valid.
- I fixed a bug about profile endpoint. If a user enroll to a learning space after he/she created his/her profile learning space also should be seen in profile page.
- I updated API documentation for the endpoints that I implemented.
- I wrote unit tests for the endpoints that I implemented.
- I reviewed and approved pull requests of backend team members
- I reviewed the issues of backend team members
- I created a Postman collection and write API endpoints part of Milestone 2
- Create serializer and POST method for LearningSpace model
- Profile Page API
- Reset Password Feature
- Backend- Unique and Valid Email
- Leave Learning Space and Get Enrolled Learning Spaces
- Unit Tests for APIs
- API documentation for created APIs
- Individual report
- API Endpoints Part of Milestone 2
- Update API Documentation
Pull Requests:
- Change password unit test is added
- Profile Page
- Password reset
- Bug fix: valid and unique email
- Leave learning space and get enrolled learning spaces
- Bug Fix: Profile Page Update Learning Spaces
- Enrolled learning spaces and leave learning space tests are written
- Forget Password test
Unit Tests:
- Enrolled learning spaces and leave learning space tests are written
- Change password unit test is added
- Forget Password test
- I implemented unit tests for reset password
- I implemented unit tests for change password
- I implemented unit tests for ger enrolled learning spaces
- I implemented unit tests for leave learning space
Additional Information: I was in active communication with other teams and implemented the necessary endpoints when there were extra endpoint requests.
Final Milestone
Responsibilities:
- I was responsible for adding new fields to learning space model
- I was responsible for implementing taking notes to a content endpoint
- I was responsible for implementing a previously created note edit endpoint
- I was responsible for implementing a get method to retrieve the user id from the username
- I was responsible for adding .env files to the backend project
- I was responsible for changing the type of the image field of the profile model to TextField
- I was responsible for updating the API documentation with new endpoints and changes in existing endpoints
- I was responsible for writing unit tests for the endpoints that I implemented
- I was responsible for implementing the profile page update endpoint
- I was responsible for implementing unit tests for new endpoints
- I was responsible for creating meaningful learning spaces and adding resources to these learning spaces on the deployed application
- I was responsible for fixing the bug in the taking note feature (A user can only see his/her own note)
- I was responsible for writing API Endpoints Part of the Final Milestone
- I was responsible for writing Individual Milestone Report for the Final Milestone
- I was responsible for writing Unit Tests Part of the Final Milestone
- I was responsible for reviewing my backend team member Ege's pull requests and issues.
- I was responsible for meeting with my team members to get ready for the Final Milestone presentation
Main Contributions: As a member of the Budemi backend team, I was responsible for a range of tasks that contributed significantly to the success of the application. I implemented several API endpoints, including those for taking and editing notes and updating user profiles. These features were crucial to the functionality and usability of the application. Additionally, I was responsible for debugging and resolving issues, such as the bug that prevented users from seeing other users' notes. I also created meaningful learning spaces and added resources to these learning spaces on the deployed application, which helped us to present a more realistic application. In addition to these implementation tasks, I played a vital role in the review process, providing valuable feedback and guidance on my team member's pull requests and issues. I also contributed to the team's preparation for the final milestone presentation by participating in meetings and collaborating with my teammates. Overall, my contributions were instrumental in the successful development and deployment of the Budemi application.
- I edited learning space model fields as the front-end and mobile teams requested
- I implemented new endpoints such as taking notes, editing notes, getting the user id from the username, and updating the profile page
- I added .env files to the backend project to run the project on different platforms
- I changed the type of the image field of the profile model to TextField because in that way other teams would implement their functionalities easily
- I edited the API documentation with new features for easy understanding of endpoints
- I implemented unit tests for the new endpoints
- I created meaningful learning spaces and added resources to these learning spaces on the deployed application to present our application to the customer more realistic
- I fixed the bug in the taking note feature (A user can only see his/her own note)
- I contributed to the creation of Final Milestone by adding API Endpoints and Unit Tests parts
- I added Individual Milestone Report for the Final Milestone
- I reviewed my backend team member Ege's pull requests and issues
- I attended project meetings regularly
- Edit Notes Feature
- Get Method to Retrieve User ID
- Add an .env File to Backend Django Project
- Profile Page Update
- Unit Tests for APIs
- Takin Notes Feature
- Create Learning Spaces and Add Resources
- Update API documentation With New Features
- API Endpoints Part of the Final Milestone
- Individual Milestone Report
- Unit Tests Part of the Final Milestone
Pull Requests:
- Edit learning space model fields as required by frontend and mobile team
- Get Method to get user id from username
- Connect Django project with env file
- Edit note feature is created. Patch method is implemented in noteAPIview
- Patch method to update profile is implemented
- Currently, a user can see all notes, but a user can only see his/her own note. I fixed this bug
Unit Tests: Unit tests are an essential part of the software development process, and are particularly important for the backend of our application Budemi. By writing unit tests for the backend, we can verify that the code is doing what it's supposed to do and that it is handling edge cases and error conditions correctly. This can help us catch bugs early on and prevent them from becoming more serious issues down the line. In addition, unit tests can make it easier to maintain and update the backend code over time, as we can use them to ensure that changes don't break any existing functionality. Overall, unit tests are an important tool for ensuring the quality and reliability of the backend of our application, and are well worth the effort to implement.
- I implemented unit tests for the profile endpoint
- I implemented unit tests for the note endpoint
- I implemented unit tests for the getting user id endpoint
- Unit tests for profile page, taking notes feature and getting user id
- Unit test for profileApiView patch method is implemented
Additional Information: Despite facing the challenge of losing one of our team members to the front-end team, the back-end team was able to successfully implement all of the planned functionalities for the Budemi application. Despite the setbacks, our backend team (me and Ege) was able to stay focused and motivated and was able to deliver a high-quality product on time. This achievement is a testament to the team's dedication and hard work and is a testament to the team's ability to adapt and overcome challenges. Additionally, I was in active communication with front-end and mobile teams and provided the necessary endpoints when they requested them.
Hüseyin Seyyid KAPLAN
Member:
Milestone 1
Responsibilities:
- Learning how to use React.js
- Designing and implementing authentication pages: signin and signup
- Showing the structure and how to install our authentication pages to teammates
- Reviewing the changes that are made by my teammates
Main Contributions:
- Determining which tools to use while doing the project.
- I have implemented authentication pages for our learning space.
- I enabled the user to login by sending a request to the back-end.
- I opened issues for my progress and tasks, made pull request for my own changes.
- I also solved the conflicts while merging two branches.
- I opened new branch to develop more stable codes.
- I added label to ease opening an issue.
- I met with my teammates to show up my changes on code several times.
- Creating an Authentication Page with React.js
- Reorganizing Code Structure According to Last Changes
- Checking the Pull Request of react-authentication-page
- Request to use Issue Panel
- Permission Request for Pushing Commits to GitHub
- We need a label named 'Meeting'
- Reviewing the Issues
Pull Requests:
Additional Information: I had some problems because I participated this group newly and also I had health issues during last 3 weeks. I came from behind of my teammates and I may caused some lack of communication issues. So, to prevent this I took the communication responsibility behalf of frontend team both in teammate's issues and other teams' (android, backend) issues in our project group.
Milestone 2
Responsibilities:
- To develop Learning Space page with its contents
- Reviewing the changes that are made by my teammates
- Participating and setting meetings
Main Contributions:
- I have implemented basic template of learning space detail page.
- I opened issues for my progress and tasks, made pull request for my own changes.
- I also solved the conflicts while merging two branches.
- I opened new branch to develop more stable codes.
- I added label to ease opening an issue.
- I met with my teammates to show up my changes on code several times.
- Checking the Pull Request of react-authentication-page #466
- Addition of New Branches #523
- Learning Space Detail Page Design #530
- Backend API Documents View #617
- Meeting for Learning Space Page Design #522
- Meeting for Milestone 2 Tasks #626
- Group Review (Milestone 2) Responsibilities and Summary of Individual Work #672
Pull Requests:
- Adding addcontent dropdown and join button PR #612
Unit Tests: I haven't implemented any unit tests.
Additional Information: After the Milestone 1, I decided to take more active role on project development on frontend side. I pioneered to set meetings and until a certain point we went well with our team but after that I couldn't manage my tasks because of accumulation of other school related responsibilities. I will focus on my deficiencies and develop rational solutions to overcome such issues.
Milestone 3
Responsibilities:
- To develop Learning Space detail page
- Reviewing the changes that are made by my teammates
- Participating and setting meetings
- Learning how to use Next.js
- Checking and merging PR's from teammates
Main Contributions:
- I have implemented learning space detail page with its endpoints.
- I opened issues for my progress and tasks, made pull request for my own changes.
- I also solved the conflicts while merging two branches.
- I opened new branch to develop more stable codes.
- I added label to ease opening an issue.
- I met with my teammates to show up my changes on code several times.
- Completing Missing Tasks After Milestone 2 #681
- Reviewing & Merging Pull Request #685
- Reviewing & Merging Pull Request #688
- Reviewing and Merging Pull Request #797
- Adding 'upvote' Feature for a Learning Space #798
- Fixing 'join' Button for a Learning Space #801
- Fixing 'Undefined' Bug in Resource Page #935
- Checking PR and Merging Frontend Branch to Master #938
- Meeting with Kamil to Shape Our Roadmap #682
- Creating Learning Space #765
- Reviewing Issues #802
- Updating README File for Instructions of Installing Dependencies #881
- Testing Latest Version of Frontend App #926
- Editing Wikipage for Weekly Individual Works #946
Pull Requests:
- Update group_milestone_review.md #677
- Summary of work in tabular format is added #678
- GitHub Issue Templates #680
- Some of Missing Functionalities Added to Space's Detail Page #700
- Revert "Some of Missing Functionalities Added to Space's Detail Page" #701
- Clicking Twice Bug Resolved #933
- Instructions of Frontend App Dependencies Updated #889
Unit Tests: I haven't implemented any unit tests.
Additional Information: I completed my tasks better than past two milestones. This is a nice step for me.
Kamil Korkut
Member: Kamil Korkut, Group 1, Front-end Team, Online Learning Project (OLP), Personal Page
Milestone 1
- I was responsible for implementing form validations for sign-in and sign-up pages.
- I was responsible for designing and implementing the forgot password page.
- I was responsible for reviewing issues.
Milestone 2
- I was responsible for implementing the dropdown menu for adding content on the learning space page, and connecting it to the add content api.
- I was responsible for implementing the join button on the learning space page, and connecting it to the enroll api.
- I was responsible for reviewing issues of the team members.
Final Milestone
- I was responsible for creating the learning space page.
- I was responsible for connecting learning space page to the learning space api.
- I was responsible for displaying learning space name on the learning space page.
- I was responsible for displaying learning space create date on the learning space page.
- I was responsible for displaying learning space tag on the learning space page.
- I was responsible for displaying learning space description on the learning space page.
- I was responsible for displaying learning space members as a list on the learning space page.
- I was responsible for adding an add resource button on the learning space page.
- I was responsible for creating the add resource page.
- I was responsible for implementing a markdown editor in the resource page.
- I was responsible for connecting add resource page to the add resource api.
- I was responsible for adding a join button on the learning space page.
- I was responsible for connecting join button to the join learning space api.
- I was responsible for adding a favorite button on the learning space page.
- I was responsible for connecting favorite button to the favorite learning space api.
- I was responsible for adding an unfavorite button on the learning space page.
- I was responsible for connecting unfavorite button to the unfavorite learning space api.
- I was responsible for implementing a logic to display the favorite button if current user is not favorited the learning space, and to display the unfavorite button if current user is favorited the learning space.
- I was responsible for reviewing my friends’ issues.
Milestone 1
- I have implemented form validations to sing-in and sign-up pages.
- I have designed and implemented the forgot password page.
- I have reviewed some issues.
Milestone 2
- I have implemented the add content dropdown menu on the learning space page.
- I have implemented the join button and its functionality.
- I have attended some of the front-end team meetings.
- I have reviewed some of the issues of the team members.
Final Milestone
- I have implemented the learning space page.
- I have implemented connecting learning space page to the learning space api.
- I have implemented displaying learning space name on the learning space page.
- I have implemented displaying learning space create date on the learning space page.
- I have implemented displaying learning space tag on the learning space page.
- I have implemented displaying learning space description on the learning space page.
- I have implemented displaying learning space members as a list on the learning space page.
- I have implemented an add resource button on the learning space page.
- I have implemented the add resource page.
- I have implemented a markdown editor in the resource page.
- I have implemented connecting add resource page to the add resource api.
- I have implemented a join button on the learning space page.
- I have implemented connecting join button to the join learning space api.
- I have implemented a favorite button on the learning space page.
- I have implemented connecting favorite button to the favorite learning space api.
- I have implemented an unfavorite button on the learning space page.
- I have implemented connecting unfavorite button to the unfavorite learning space api.
- I have implemented a logic to display the favorite button if current user is not favorited the learning space, and to display the unfavorite button if current user is favorited the learning space.
- I have reviewed my friends’ issues.
Milestone 1
Milestone 2
- Learning Space Detail Page Design #530
- Frontend - Add content and Join #563
- Frontend: Connecting the join button to the enroll api #611
- Frontend: Add Content Dropdown Popup #631
Final Milestone
- Missing tasks of milestone 2 #683
- Frontend: Add content functionality #687
- Frontend: Changing "content" to "resource" on the learning space page #723
- Frontend: Displaying Members on the Learning Space Page #724
- Frontend: Change Add Resource Functionality #725
- Frontend: Add Markdown Resource #751
- Frontend: Add Favorite and Unfavorite Functionalities #792
- Frontend: Display all LS info #831
Milestone 1
Milestone 2
Final Milestone
- Meeting with Kamil to Shape Our Roadmap #682
Milestone 1
- React authentication page PR #395
Milestone 2
- adding addcontent dropdown and join button PR #612
Final Milestone
- learning space page is added PR #684
- add content functionality is added PR #686
- resource functionality and displaying members on learning space improved PR #726
- delete .next folder and update next.config PR #833
- add description display PR #914
We have not written any unit test.
Ömer ÖZDEMİR
Member: Ömer Özdemir, Group 1, Android Team, Online Learning Project (OLP), Personal Page
Responsibilities:
- I was responsible for attending to the all Problem Sessions, Group Meetings, Android Meetings.
- I was responsible for introducing template design for Android app.
- I was responsible for introducing new UI for Android.
- I was responsible for improving UX for Android.
- I was responsible for determining objectives for Milestone3 for Android.
- I was responsible for distribution of the work to be done each member (Who should do Learning Space Stage1,2,3 etc.).
- I was responsible for making our design consistent with front-end.
- I was responsible for reviewing my team members' issues and pull-requests.
- I was responsible for reviewing my team member's work.
- I was responsible for hands-on testing on Android.
- I was responsible for arranging meetings with my team members in Android.
- I was responsible for detecting and fixing bugs on Android
- I was responsible for filling Android related things in Milestone 3
- I was responsible for sync of Android with back-end and front-end
- I was responsible for studying and showing Android in Milestone 3 Customer Demo
- I was responsible for everything related to Learning Space 2 (The menu page)
- I was responsible for finding icon, text, clicking on functionality for resources in Learning Space 2.
- I was responsible for listing all resources in Learning Space 2.
- I was responsible for showing the owner of the resource in Learning Space 2.
- I was responsible for showing the number of up votes of the resource in Learning Space 2.
- I was responsible for finding icon, text, clicking on functionality for enroll in Learning Space 2.
- I was responsible for finding icon, text, clicking on functionality for leave in Learning Space 2.
- I was responsible for finding icon, text, clicking on functionality for members in Learning Space 2.
- I was responsible for listing all members of Learning Space 2.
- I was responsible for finding icon, text, clicking on functionality for add favorite in Learning Space 2.
- I was responsible for finding icon, text, clicking on functionality for remove favorite in Learning Space 2.
- I was responsible for finding icon, text, clicking on functionality for add resource in Learning Space 2.
- I was responsible for design and implementation of add resource page.
- I was responsible for changing the design when user enrolls in Learning Space 2.
- I was responsible for changing the design when user leaves Learning Space 2.
- I was responsible for finding icon, text, clicking on functionality for resources in Learning Space 2.
- I was responsible for everything related to Learning Space 3 (The resource page)
- I was reponsible for supporting markdown text in resource page.
- I was responsible for listing the resource in Learning Space Stage 3.
- I was responsible for design of bottom sheet layout in Learning Space 3.
- I was responsible for implementation of bottom sheet layout in Learning Space 3.
- I was responsible for showing the owner of content at the bottom in Learning Space 3.
- I was responsible for showing say something at discussion part in Learning Space 3.
- I was responsible for finding icon,text,clicking on functionality of read in Learning Space 3.
- I was responsible for showing the number of up votes in bottom sheet layout in Learning Space 3.
- I was responsible for finding icon, text, clicking on functionality of notes in Learning Space 3.
- I was responsible for finding icon,text, clicking on functionality of discussion in Learning Space 3.
- I was responsible for implementation of posting discussion in Learning Space 3.
- I was responsible for listing all discussion in Learning Space Stage 3.
- I was responsible for finding icon,text, clicking on functionality of edit for note in Learning Space 3.
- I was responsible for finding icon,text, clicking on functionality of edit for resource in Learning Space 3.
- I was responsible for finding icon,text,clicking on functionality for up vote in Learning Space 3.
- I was responsible for finding icon,text,clicking on functionality for down vote in Learning Space 3.
- I was responsible for everything related to profile page except uploading image
- I was responsible for introducing new UI for profile page.
- I was responsible for showing the profile photo of the user.
- I was responsible for showing the user id of the user.
- I was responsible for showing the enrolled courses of the user.
- I was responsible for the clicking on functionality of enrolled courses of the user
- I was responsible for showing the e-mail of the user
- I was responsible for showing about me of the user
- I was responsible for icon,text,clicking on functionality of change password and edit profile
- I was responsible for introducing Marquee Text in home page.
- I was responsible for fixing typos in Android.
- I was responsible for everything related to sign-in page
- I was responsible for everything related to sign-up page
- I introduced model-service-view pattern into our android repository.
- I introduced retrofit library into our android repository.
- I introduced new button design into our android repository.
- I introduced new font styles into our android repository.
- I changed all fonts in Android app to new ones mentioned just above
- I was responsible for adding mock resource for the presentation
- I was responsible for creating mock learning spaces for the presentation
Main Contributions:
- I have implemented sign-up page for Android.
- I introduced retrofit library for our use from now on for api requests.
- I introduced nice front-end designs to the team for our own use from now on.
- I introduced model-service-view pattern into our android repository.
- I participated in writing the android mockup scenario for milestone 1.
- I participated into the all group meetings both Android and overall team.
- I reviewed my team member's work.
- I solved my team member's problems that they encounter in Android Studio.
- I introduced Android label to our repository.
- I have implemented Learning Space Stage 2,3, listing all learning spaces and reset password api infrastructure for Android.
- Me and Osman figured out how to send post request with header.
- I participated into the all group meetings both Android and overall team.
- I reviewed my team member's work.
- I solved my team member's problems that they encounter in Android Studio.
- Everything related to UI/UX improvement of Android app
- Everything related to Learning Space 2 (The menu page)
- Everything related to Learning Space 3 (The resource page)
- Everything related to sign-in page
- Everything related to sign-up page
- Everything related to profile page except uploading image
- Everything related to management of Android app
- Reviewing Team member's work and giving feedback.
- Reviewing Team member's work and fixing bugs their bugs.
- Studying and Presenting Android app in Customer Demos.
- Final design of sign-up page: https://github.com/bounswe/bounswe2022group1/issues/360
- Android Sign-up page - Message disappears after 2000ms: https://github.com/bounswe/bounswe2022group1/issues/388
- Android Sign-up page back-end connection: https://github.com/bounswe/bounswe2022group1/issues/384
- Sign-in and Sign-up pages for Android Application: https://github.com/bounswe/bounswe2022group1/issues/333
- Android API Infrastructure for back-end APIs: https://github.com/bounswe/bounswe2022group1/issues/623
- Learning Space Stage 3 functionality is fully implemented. : https://github.com/bounswe/bounswe2022group1/issues/622
- Learning Space Stage 2 Functionality is implemented.: https://github.com/bounswe/bounswe2022group1/issues/621
- Add Content design is implemented.: https://github.com/bounswe/bounswe2022group1/issues/619
- Add Content functionality is implemented: https://github.com/bounswe/bounswe2022group1/issues/618
- Leave Button Functionality is implemented: https://github.com/bounswe/bounswe2022group1/issues/615
- Bug fix for profile page: https://github.com/bounswe/bounswe2022group1/issues/543
- Design of third phase of learning space: https://github.com/bounswe/bounswe2022group1/issues/521
- Design of second phase of learning space: https://github.com/bounswe/bounswe2022group1/issues/520
- Reviewing Osman's Work (The navigation bar): https://github.com/bounswe/bounswe2022group1/issues/519
Week10: Android: Header Authorization Parameter
Week10: Introducing Jetpack library for Android app
Week10: New Button design and some configuration changes
Week10: Design improvement for Android
Week11: Learning Space Resource and Members new design
Week11: Learning Space Menu is created.
Week11: Redesign of profile page
Week11: Sign-in and Sign-up design changes are made
Week11: Profile page enrolled learning spaces is seen
Week11: Bug fix for sign-up and forgot-password pages
Week11: Resource page new design is introduced.
Week11: Resource (Notes,Discussion,Resource,Edit) functionality is done
Week12: Resize of creating discussing post
Week12: Resource page bottom bar becomes shorter and save functionality is added
Week12: Resource listing owner and votes is shown
Week12: Add/Remove favorite is added.
Week12: Welcome to budemi text in homepage is made sliding
Week12: UI/UX improvement on resource page.
Week12: Bug fix for profile page
Week12: Markdown is supported in resource page
Week12: Profile page image back-end connection is made
Week12: Add favorite back-end connection is made
Week12: Remove favorite back-end connection is made
Week12: User from id back-end infrastructure is made
Week12: Api connection for getting all notes in resource is made
Week12: Editting note back-end connection is made
Week12: Creating a note back-end connection is made
Week12: Content edit back-end connection is made
Week12: Implementation of upvote/downvote in resource page
Week2: Meeting with the Android team
Week2: Initialization of Android Studio
Week4: Review of Sync of Android app
Week4: Meeting with the Android team for milestone1
Week5: Meeting with the Android team
Week5: Another Meeting with the Android team
Week5: Android mockup and scenario for milestone1
Week6: Milestone 2 objectives for the Android team
Week7: Android meeting 20.11.2022
Week8: Android meeting
Week9: Android preparing for milestone2
Week9: Meeting with Back-end Team
Week9: Budemi android version for milestone 2 is completed.
Week9: Milestone2 and Milestone3 folders were missing. Pull-request.
Week10: Group Review and UI/UX Android for Milestone2.
Week10: Objectives for Android Team until Milestone3
Week11: Upvote and Unvote functionality is needed.
Week11: Edit resource functionality is needed.
Week11: Taking notes functionality is needed.
Week12: Deliverables for Milestone3
Week13: Milestone3: Group Review
Week13: Milestone 3: Scenario and Mockup for Android
Pull Requests:
- Budemi android main: https://github.com/bounswe/bounswe2022group1/pull/397
- Bug fix for user logout (user_token is set to "") : https://github.com/bounswe/bounswe2022group1/pull/452
- Milestone1 individual .md files are added : https://github.com/bounswe/bounswe2022group1/pull/451
- Api connection for GetContent, AddContent and Enroll is made - https://github.com/bounswe/bounswe2022group1/pull/584
- Learning Space Add Content is done - https://github.com/bounswe/bounswe2022group1/pull/592
- learningSpace2, topic click lands content page - https://github.com/bounswe/bounswe2022group1/pull/596
- API connection for various endpoints is done. - https://github.com/bounswe/bounswe2022group1/pull/603
- New back-end connections for android and some bug fixes - https://github.com/bounswe/bounswe2022group1/pull/605
- Discussion is fully completed. Some design changes for learning space is made - https://github.com/bounswe/bounswe2022group1/pull/610
- Some design changes for add content - https://github.com/bounswe/bounswe2022group1/pull/624
- Budemi android version for milestone 2 is completed. - https://github.com/bounswe/bounswe2022group1/pull/632
- Reviewing Osman's change password PR - PR #568
- Reviewing Osman's Change Password and Learning Spaces PR - PR #593
- Reviewing Osman's Android: Members parameters passed for learning space PR- PR #597
- Reviewing Osman's bug fix PR - PR #598
- Reviewing Ahmet's Android dev ahmet, profile page changes PR - PR #599
- Reviewing Osman's Forgot password page implemented PR - PR #606
- Reviewing Osman's LS Search Implemented PR - PR #627
Milestone3 deliverables
Up vote and down vote functionality is implemented
Notes api connection is made
Note and Content api connections are made
Profile page image and more back-end connection is made
UI/UX improvement on resource page and Markdown support.
Resource and resource listing update for better UX.
Resource page new design is introduced
Profile Page enrolled courses are seen and redirected
Sign-in and Sign-up design changes
Profile page new design is introduced.
Design improvement for Android app is done.
New Button design and some config changes
Jetpack Library configuration for Android
Unit Tests: We haven't written any unit test. Since UI/UX testing is done via human computer interaction and back-end already written unit-tests for their apis, we have done it manually for all possible cases.
Additional Information:
It was my and other android team members' first time dealing with Kotlin. Since Kotlin is a compiled language not an interpreted one, it is hard to develop apps in a short amount of time. We had tough times through the development process of this project. As a good side, I am now at a nice level of developing android applications by using Kotlin though I don't prefer it. However, we failed to implement annotations functionality no matter how hard we try. This mainly because of we are not familiar with Kotlin and its tools. Another possible factor is that we started as 4 people on android team, but at the end of the day we were 2 people. Maybe, we could have managed the process better and devoted more time to implement annotations. On the other hand, we have improved our UI and UX a lot since the Milestone 2. These improvements were so satisfying for us. Besides these technical difficulties, developing a software product with other team members gave me lots of ideas about my future career. I learnt a lot about working with a team, its difficulties and advantages. To sum up, it was tough and enlightening process, and I am as thankful as I am exhausted.
Ece SARKIN
Member: Ece Sarkın, Group 1, Online Learning Project (OLP), Personal Page
Milestone 1
Responsibilities:
- I was responsible for sharing meeting notes with my team.
- I was responsible for designing and implementing the profile page on Web.
- I was responsible for creating Milestone 1 report outline.
- I was responsible for creating the project plan for the Front-end team. I have attended Lectures, Problem Sessions, all the team meetings and frontend team meetings.
Main Contributions:
- I have uploaded each week's meeting notes on our Wiki.
- I have designed and implemented the profile page of the Web application.
- I have created an outline for Customer Milestone 1 report.
- I have revised last semester's Use case diagram.
- I have reviewed my friends' issues.
- Profile page: #450
- Review Use case #292
- Meeting notes #291, #325, #326, #400
- Frontend project plan #458
- Customer Milestone 1 report outline #401
Pull Requests:
- Profile page PR #449
Milestone 2
Responsibilities:
- I was responsible for implementing the Content detail page for Web.
- I was responsible for implementing the Discussion section on the Content page.
- I was responsible for presenting the Web application to the customer.
- I was responsible for opening a new AWS account. (But we haven't used it.)
- I was responsible for reviewing other team members' work.
Main Contributions:
- I have implemented the Content (of a Learning space) page for Web.
- I have reviewed other team members' work.
- I have participated in designing the flow and routing of pages during meetings.
- I have participated in designing the visual outlines of the Learning Space and Contents pages.
- I have attended all group meetings and front-end team meetings.
- I performed the customer demo on 06.12.2022.
- Frontend: Implement Contents page (static) #525
- Frontend: Re-implementation of Contents page with API calls and Discussion component Issue #589
- Reviewed: #578, #579, #581, #637
- Frontend: Report of Group Meeting 28.11.2022 #559
- Frontend: Extra meeting with Kadir on 05.12.2022 #580
- Create outlines for Milestone 2 reports #651
Pull Requests:
- Contents detail page - type: text (static) PR #524, PR #529
- Frontend content (with back-end connection) PR #588
- Reviewed: The merged version of frontend-kadir and frontend-content PR#636
Unit Tests: We haven't written any unit tests.
Milestone 3
Responsibilities:
- I was responsible for implementing the Resource detail page for Web.
- I was responsible for implementing the Discussion section on the resource page.
- I was responsible for implementing the Contributors section on the resource page.
- I was responsible for implementing the My notes functionality on the resource page.
- I was responsible for implementing the Edit resource page.
- I was responsible for implementing the upvote functionality.
- I was responsible for presenting the Web application to the customer.
- I was responsible for creating users, resources, discussion content, notes for the database.
- I was responsible for reviewing other team members' work.
Main Contributions:
- I have implemented the Content (of a Learning space) page for Web.
- I have implemented the Resource detail page for Web.
- I have implemented the Discussion section on the resource page.
- I have implemented the Contributors section on the resource page.
- I have implemented My notes functionality on the resource page.
- I have implemented the Edit resource page.
- I have implemented the upvote functionality.
- I have reviewed other team members' work.
- I have attended all group meetings and front-end team meetings.
- I performed the customer demo on 27.12.2022.
- I have written UI/UX and Scenarios sections for the Milestone 3 report.
- Frontend: Content page #589
- Frontend: New Aws Account #576
- Frontend: Resource page #813
- Frontend: Resource improvements on Discussion and Upvote functionality #814
- Frontend: Resource, upvote #815
- Frontend: Resource, Notes #816
- Frontend: Resource, edit page #817
- Frontend: Resource, note, bugfix #872
- Frontend: UI/UX and Scenario for Milestone 3 #962
- Add data to the database for final presentation #818
Pull Requests:
- Frontend resourcev1 - logo fix PR#871
- personal notes is now only one single note PR#870
- empty url fields are replaced with non-empty string PR#854
- Frontend resourcev1 Edit resource & my notes PR#852
- Frontend resourcev1 PR#832
Unit Tests: We haven't written any unit tests.
Kadir Gökhan SEZER
Member: Kadir Gökhan Sezer, Group 1, Frontend Team, Online Learning Project (OLP), Personal Page
Responsibilities:
- I was responsible to attend all the meetings.
- I was responsible for creating the project and configuring the routine methods between pages.
- I was responsible for designing homepage page.
- I was responsible for reviewing my team member's work.
- I was responsible for distribution of the work to be done each member.
- I was responsible to help my team if they needed.
- I was responsible to follow what the rest of the team has done.
- I was responsible for writing frontend implementation of change password endpoint.
- I was responsible for writing frontend implementation of add learning space endpoint.
- I was responsible for writing frontend implementation of filter learning space endpoint.
- I was responsible for writing frontend implementation of list learning space endpoint.
- I was responsible for writing frontend implementation of sign-in endpoint.
- I was responsible for writing frontend implementation of sign-up endpoint.
- I was responsible for writing frontend implementation of profile endpoint.
- I was responsible for reviewing my team member's work.
- I was responsible for routing beetween the pages.
- I was responsible for the authentication layer.
- I was responsible for solving my team member's problems that they encounter NextJS.
- I was responsible for migration of our project from ReactJS to NextJS.
- I was responsible for writing frontend of login page.
- I was responsible for filling Frontend related things in Milestone 3
- I was responsible for detecting and fixing bugs on Frontend.
- I was responsible for distribution of the work to be done each member
- I was responsible for writing frontend of register page.
- I was responsible for sync of Frontend with back-end and mobile
- I was respobislbe for writing frontend of change password page.
- I was responsible for writing frontend of profile page.
- I was responsible for deployment of the frontend.
- I was responsible for buying the domain.
- I was responsible for configuration of the domain.
- I was responsible for everything related to Homepage.
- I was responsible for listing all learning spaces in homepage.
- I was responsible for filtering learning spaces in homepage.
- I was responsible for adding learning space in homepage.
- I was responsible for everything related to Profile.
- I was responsible for adding profile page.
- I was responsible for adding profile photo.
- I was responsible for changing profile photo.
- I was responsible for changing password.
- I was responsible for adding/editing "About Me" section.
- I was responsible for everything related to Login.
- I was responsible for authentication layer.
- I was responsible for everything related to Forgot Password page.
- I was responsible for functionality of forgot password page.
- I was responsible for everything related to Register Page.
- I was responsible for everything related to Change Password Page.
- I was responsible for creating mock for the backend.
- I have introduced nextjs framework into out team.
- I have introduced new logo design into our team.
Main Contributions:
- I have implemented home-page for Web.
- I struggled with understanding the login and sign up part. I fixed them.
- I made the api connections of the login,logout,register and sign up pages.
- I did research to show my teammates beautiful website designs.
- I compared website designs and chose the most suitable one with my group friends.
- I participated into the all group meetings both Frontend and overall team.
- I built the Reactjs project structure. I designed the folder structure. I adjusted the project accordingly.
- I also handled the token based system.
- I reviewed my team member's work.
- I helped my friends with reactjs. I helped them when they had problems.
- I introduced Frontend,Android and Backend label to our repository.
- I created the profile page. When I log in, I set it to go to the profile page with that token. With that token, I set it to logout and go to the homepage again. I set the profile page checking for the existence of the token. Ece filled out the profile part.
- I made the necessary preparations for the deployment part. I worked it from this site. I asked my friends to fulfill their responsibilities. I waited for them to do it. If they won't, I told them to tell me that I would do the deployment part accordingly. There was no answer. I wrote the Dockerfile. @Ege did the deployment part. During this process, we had these problems because of my teammates not helping us.
- I have implemented what I was responsible for.
- I have attended all group meetings and front-end team meetings.
- I reviewed my team member's work.
- I have participated in designing the flow and routing of pages during meetings.
- I have participated in designing the visual outlines of the Learning Space and Contents pages.
- I have tried to help my team members when they encounter problems.
- Know-how about Docker: https://github.com/bounswe/bounswe2022group1/issues/307
- React Learning : https://github.com/bounswe/bounswe2022group1/issues/322
- Frontend: NPM: https://github.com/bounswe/bounswe2022group1/issues/473
- Frontend: ReactJS Folder Structure: https://github.com/bounswe/bounswe2022group1/issues/373
- Frontend: Usage of Mui: https://github.com/bounswe/bounswe2022group1/issues/374
- Frontend: Sync with the Huseyyin Seyyid: https://github.com/bounswe/bounswe2022group1/issues/375
- Frontend: What is API over ReactJS?: https://github.com/bounswe/bounswe2022group1/issues/376
- Frontend: Onclick funtion over href: https://github.com/bounswe/bounswe2022group1/issues/377
- Frontend: How to run react on other parts: https://github.com/bounswe/bounswe2022group1/issues/378
- Frontend: Create temporary logo: https://github.com/bounswe/bounswe2022group1/issues/379
- Frontend: Domain of the project: https://github.com/bounswe/bounswe2022group1/issues/380
- Frontend: What is CSS?: https://github.com/bounswe/bounswe2022group1/issues/381
- Frontend: Homepage template: https://github.com/bounswe/bounswe2022group1/issues/382
- Frontend: API iplementations of sign-up and sign-in pages: https://github.com/bounswe/bounswe2022group1/issues/383
- Frontend: for the v0.2, needs : https://github.com/bounswe/bounswe2022group1/issues/387
- Frontend: Group meeting: https://github.com/bounswe/bounswe2022group1/issues/389
- Frontend: Forgot password: https://github.com/bounswe/bounswe2022group1/issues/474
- Frontend: Content of the Homepage: https://github.com/bounswe/bounswe2022group1/issues/394
- Frontend: Profile Page: https://github.com/bounswe/bounswe2022group1/issues/430
- Frontend: Token on local storage: https://github.com/bounswe/bounswe2022group1/issues/433
- Frontend: Logout page: https://github.com/bounswe/bounswe2022group1/issues/435
- Frontend: with the help of @egetaga, Dockerfile: https://github.com/bounswe/bounswe2022group1/issues/464
- Frontend: Data structure of webpage: https://github.com/bounswe/bounswe2022group1/issues/468
- Frontend: Final version: https://github.com/bounswe/bounswe2022group1/issues/472
- Work on Mui 373
- Frontend: Deployment of our project #512
- Frontend: NextJS 527
- Frontend: Auth Layer 528
- Backend: Logout Endpoint 531
- Frontend: Dockerizing and deploying an hello-world project #511
- Frontend: Homepage 579
- Frontend: Profile Page 578
- Frontend: Change password 658
- Frontend: Auth Layer of the Project 581
- Frontend: New Aws Account 576
- Frontend: Deployment 638
- Frontend: Create a Learning Space 659
- Frontend: NextJS Framework 577
- Frontend: AWS Instance - Docker #509
- Frontend: Domain of the instance #510
- Frontend: Deployment of Frontend | 583
- Frontend: README 655
- Frontend: Dockerfile638
- Frontend: Readme file fixed | 670
- Frontend: EC2 and Route53 657
- Frontend: Filter button over the learning spaces 660
- Frontend: Homepage 579
- Frontend: Cards version 727
- Frontend: Creating Learning Space 728
- Backend: Photo of a Learning Space 729
- Backend: Cors problem 730
- Frontend: Meeting with @ecesrkn 748
- Frontend: Annotations 749
- Frontend: Homepage and Resource Page are Merged 750
- Frontend: Solving @ecesrkn problems Commit
- Frontend: Home Button 822
- Frontend: New Version of the Homepage 827
- Frontend: Forgot Password 819
- Frontend: Font is changed 824
- Frontend: New Profile Page825
- Frontend: For Deployment 830
- Backend: Cors problem 730
- Frontend: Create a Learning Space Page 828
- Backend dev test bugfix 856
- Frontend-Kadir -> Frontend: Homepage, Profile 857
- Unittests: content edit, fav, unfav user from id 858
- Frontend-kadir -> Frontend 867
- Frontend: Mock Data 896
- Frontend: DockerHub 897
- Frontend: CI&CD 898
- Frontend -> Master 899
- Frontend: Profile Page 900
- Frontend: Forgot Password 902
- Frontend: Mock Data 906
- Frontend: Last Sync 940
- Frontend: Mock Data 936
- Frontend: Deployment of the final version 945
- Group work distribution: https://github.com/bounswe/bounswe2022group1/issues/281
- Adding Labels: https://github.com/bounswe/bounswe2022group1/issues/321
- Checking group members: https://github.com/bounswe/bounswe2022group1/issues/282
- Reviewing GDPR Rules: https://github.com/bounswe/bounswe2022group1/issues/294
- Reviewing KVKK Rules: https://github.com/bounswe/bounswe2022group1/issues/295
- Correcting the ambiguity on the issue: https://github.com/bounswe/bounswe2022group1/issues/296
- Reviewing Contribution Plan: https://github.com/bounswe/bounswe2022group1/issues/301
- Reviewing Homepage: https://github.com/bounswe/bounswe2022group1/issues/303
- Outcomes of the meeting on 11.10.2022: https://github.com/bounswe/bounswe2022group1/issues/308
- Frontend Team Meeting: https://github.com/bounswe/bounswe2022group1/issues/318
- We need labels like Frontend,Backend, etc.:https://github.com/bounswe/bounswe2022group1/issues/321
- Group mail: https://github.com/bounswe/bounswe2022group1/issues/324
- Issue Template V2: https://github.com/bounswe/bounswe2022group1/issues/330
- Meeting with the team: https://github.com/bounswe/bounswe2022group1/issues/374
- Review of requirements: https://github.com/bounswe/bounswe2022group1/issues/470
- User requirements is reviewed. : https://github.com/bounswe/bounswe2022group1/issues/479
- Glossary and Requirements for Practice.app is reviewed.: https://github.com/bounswe/bounswe2022group1/issues/471
- An update on Requirements 1.2.2.1 Profile Specifications 637
- Frontend: Progress of my task 582
- Frontend: Extra Meeting with @ecesrkn 580
- Frontend: Report of Group Meeting 28.11.2022 559
- Frontend: Extra group meeting with @ecesrkn 661
- Backend: Cors problem 730
- Frontend: Meeting with @ecesrkn 748
- Frontend: Solving @ecesrkn problems Commit
- Frontend: For Deployment 830
- Frontend: Sync of the team 820
- Frontend: AWS Account 821
- Backend: Cors problem 730
- Frontend: Sync with the Mobile team823
- Frontend: Last Meeting 855
Pull Requests:
- Changes according to the new term #302
- addition of newcomers #305
- I created the frontend-v0.2 branch. The whole project is based on that brach. All of the team worked on that.
- 0.1.0-alpha #475: https://github.com/bounswe/bounswe2022group1/pull/475
- The merged version of frontend-kadir and frontend-content 636
- Docker file updated 654
- Create frontend_project_plan.md 465
- Frontend content 588
- Commands of the nextjs is added 656
- Instructions of frontend is added to Readmen 667
- (Review) empty url fields are replaced with non-empty string 852
- (Review) Home Page Favorite Learning Spaces ( https://github.com/bounswe/bounswe2022group1/pull/848)
- (Review) Instructions of Frontend App Dependencies Updated 889
- (Review) Backend dev test bugfix 856
- Frontend-Kadir -> Frontend: Homepage, Profile 857
- (Review) Unittests: content edit, fav, unfav user from id 858
- Frontend-kadir -> Frontend 866
- Frontend-Kadir -> Frontend: Homepage, Profile 867
- Frontend-kadir -> Frontend 867
- (Rewview) Currently, a user can see all notes, but a user can only see his/her own note. I fixed this bug 869
- Frontend -> Master 899
Unit Tests: Since frontend testing is done via human computer interaction, I haven't coded any unit test.
Additional Information: I actually noted what I have done in this link. This link can also be used to track my work.
Ege Onur TAĞA
Member: Ege Onur Tağa, Group1, Backend, Online Learning Project (OLP) - Budemi, Personal Page
Responsibilities for Milestone 3:
- I was responsible for bug fixing in the profile page (when user enrolled and then disenrolled, our backend still showed her as enrolled).
- I was responsible for implementing a functionality to favorite and unfavorite learning spaces (app/favorite and app/unfavorite).
- I was responsible for bug fixing the favorites functionality (a user could favorite the same learning space multiple times).
- I was responsible for implementing annotation support in the backend (separate project running on a different endpoint).
- On top of that, I was responsible for creating a project and deploying it into AWS EC2 for annotation support.
- I was responsible for fixing the bug in the patch method of profile page.
- I was responsible for meeting with my team members to discuss the customer milestone 3.
- I was responsible for reviewing my team member's pull requests and issues.
- I was responsible for implementing editing content.
- I was responsible for bug fixing the unit tests (discussion and leave learning space failed due to the changing data model.).
- I was responsible for writing unit tests for all my endpoints in the customer milestone 3 (I have written the unit tests for milestone 1 and 2 already, and wrote the ones for content edit, fav, unfav user from id, and tests for get, post, patch, delete for annotation).
- I was responsible for integrating our final backend software to master.
- I was responsible for preparing API endpoint docs for the endpoints I have written.
Main Contributions for Milestone 3: The backend team at Budemi (consisting of me and Kadir Kalkan) worked really well together and were super organized. We were able to create a bunch of endpoints that made things easier for the frontend and mobile teams, and it was all because we had such a strong team dynamic. We all helped each other out and learned from each other throughout the project. My specific responsibilities included implementing and bugfixing the codebase, annotations, and deployment. I've listed my contributions below for you to check out.
- I bug fixed the profile page (when user enrolled and then disenrolled, our backend still showed her as enrolled).
- I implemented a functionality to favorite and unfavorite learning spaces (app/favorite and app/unfavorite).
- I implemented annotation support in the backend (separate project running on a different endpoint).
- I fixed the bug in the patch method of profile page.
- I met with my team members to discuss the customer milestone 3.
- I reviewed my team member's pull requests and issues.
- I implemented functionality to editing content.
- I reviewed my team member's pull requests and issues.
- I bug fixed the unit tests (discussion and leave learning space failed due to the changing data model.).
- I did an introductory speech in the customer milestone.
- I wrote unit tests for all my endpoints in the customer milestone 2 (I had written the unit tests for milestone 1 and 2 already, and and wrote the ones for content edit, fav, unfav user from id, and tests for get, post, patch, delete for annotation).
- I prepared API endpoints for the endpoints I have written.
- I was responsible for integrating our final backend software to master.
- I wrote the executive summary, software package and standards sections in the milestone 3 group review.
- Backend - Bug Fix in the Profile Page
- Backend - Favorites bug
- Backend - Implementing annotations API
- Backend - Creating a project and deploying it into AWS EC2 instance for the annotations
- Backend - Bugfix in the profile page
- Meeting for the final customer presentations
- Milestone 3: Writing Executive Summary
- Milestone 3: Writing Standards Section
- Milestone 3: Writing Software Package Section
Pull Requests for Milestone 3:
- Implemented user_id to user retrieve functionality
- Backend dev favorite learning spaces
- Implemented editing content
- I implemented annotations support on the backend.
- Bugfixed the multiple favorites problem
- Fixed the bug in the patch methd of profileApiView
- Backend dev test bugfix
- Unittests: content edit, fav, unfav user from id
- Tests for get, post, patch, delete for annotation
- Backend-Final Customer Milestone update
Unit Tests for Milestone 3:
From first milestone until the second milestone:
- I have prepared unit tests for content.
- I have prepared unit tests for edit content.
- I have prepared unit tests for favoriting a learning space.
- I have prepared unit tests for unfavoriting a learning space.
- I have prepared unit tests for user from id.
- I have prepared unit tests for Annotation API including get, post, patch, delete for annotation.
- You may check their codes in this PR and for the Annotation: PR.
As part of my development process, I made sure to write unit tests for all of the code that I created. This was an important step to ensure that the code was working properly and met the desired specifications. By writing these unit tests, I was able to catch any errors or issues before the code was deployed, leading to a smoother and more efficient development process.
Additional Information for Milestone 3: I assisted the frontend and android teams by providing online support to help them utilize our APIs. Despite having comprehensive documentation, there were times when they required further explanation and clarification on certain points. To ensure that they were able to use our APIs effectively, I made myself available to answer their questions and provide guidance as needed.
Responsibilities for Milestone 2:
- I was responsible for implementing the discussion related endpoints (/app/discussion/ and /app/discussion-list/).
- I was responsible for implementing listing endpoint (app/learning-space-list/).
- I was responsible for implementing searching related endpoints (app/learning-space-search/ and app/learning-space-tag-search/).
- On top of that, I was responsible for creating data models for these endpoints in Django.
- I was responsible for adding tagging specification to learning spaces.
- I was responsible for dockerizing the backend application.
- I was responsible for deploying the backend application into AWS EC2 instance.
- I was responsible for reviewing my team member's pull requests and issues.
- I was responsible for preparing slides for the customer milestone 2.
- I was responsible for doing an introductory speech in the customer milestone.
- I was responsible for writing unit tests for all my endpoints in the customer milestone 2 (I have written the unit tests for milestone 1 already).
- I was responsible for fixing bugs in the backend software.
- I was responsible for reviewing my team member's work in their pull requests and issues.
- I was responsible for preparing API endpoints for the endpoints I have written.
Main Contributions for Milestone 2: As a backend team of Budemi, we were very organized and had a strong team mentality. I see that we provided many (17) endpoints that facilitate the jobs of frontend and mobile and it is only possible because of our strong team mentality. During the all parts of the project, we learned from each other. As a team member, apart from implementing my parts, which are summarized here, we also reached and learned from each other. I was responsible for implementing the codebase and also deployment. I summarized my contributions below for your review.
- I implemented the discussion related endpoints (/app/discussion/ and /app/discussion-list/).
- I implemented listing endpoint (app/learning-space-list/).
- I implemented searching related endpoints (app/learning-space-search/ and app/learning-space-tag-search/).
- I created data models for these endpoints in Django.
- I added tagging specification to learning spaces.
- I dockerized the backend application.
- I deployed the backend application into AWS EC2 instance.
- I reviewed my team member's pull requests and issues.
- I prepared slides for the customer milestone 2.
- I did an introductory speech in the customer milestone.
- I wrote unit tests for all my endpoints in the customer milestone 2 (I have written the unit tests for milestone 1 already).
- I reviewed my team member's contributions in their pull requests and issues.
- I prepared API endpoints for the endpoints I have written.
- I explained the use of our endpoints to Android team and also reviewed their implementation.
- I wrote the executive summary and standards sections in the milestone 2 group review.
- Backend - Implementing the Discussion API
- Backend - Implementing Searching and Listing for Learning Spaces
- Backend- bugfix and adding tag functionality
- Backend - Implementing Tag Search API
- Backend - Writing an API doc for my APIs
- Backend - Deployment into AWS
- Meeting with Android Team
- Milestone 2: Writing Executive Summary
- Milestone 2: Writing Standards Section
Pull Requests for Milestone 2:
- Backend dev discussion
- Revert "Backend dev discussion"
- Backend dev discussion forum
- Implemented an APIs searching and listing all Learning Spaces
- Implemented tagging, fixed bug,improved LSpace API
- Implemented tag search functionality
- I have prepared tests for discussion and search
- Backend Second Milestone Codebase
Unit Tests for Milestone 2:
- I have prepared unit tests for discussion.
- I have prepared unit tests for discussion list.
- I have prepared unit tests for learning space list.
- I have prepared unit tests for search with parameter.
- I have prepared unit tests for search with tag.
- You may check their codes in this PR
In the end, I have written unit tests for all the code I have developed.
Additional Information for Milestone 2: I have carried out online support to both the frontend and android teams in using our APIs. We have fully documented, yet they sometimes still needed further explanation.
Responsibilities for Milestone 1: I was responsible for the dockerization and deployment for the OLP. Moreover, I have implemented login, logout, change-password functionalities, together with writing test cases for register, login and logout. Also, I was responsible for editing glossary and requirement pages. Additonally, I was responsible for presentation slides and also preparing the scenarios for the customer meeting.
Main Contributions for Milestone 1: I have implemented login, logout and change password functionalities. Moreover, I dockerized the backend project and deployed into AWS EC2 instance. Additionally I prepared a presentation and a scenario for the customer meeting. Another important thing I did is to edit the glossary and requirements for the project. Moreover, I reviewed and edited the semantic searching page.
- Dockerization and Deployment into AWS EC2: https://github.com/bounswe/bounswe2022group1/issues/342
- Implementing login, logout and change-password functionalities: https://github.com/bounswe/bounswe2022group1/issues/368
- Implementing unit tests for register, login and logout: https://github.com/bounswe/bounswe2022group1/issues/369
- Learning Django: https://github.com/bounswe/bounswe2022group1/issues/320
- Checking and updating Glossary and Requirements: https://github.com/bounswe/bounswe2022group1/issues/297
- Reviewing Semantic Search Page: https://github.com/bounswe/bounswe2022group1/issues/298
- Preparing a presentation and scenarios for Milestone 1 Customer Meeting: https://github.com/bounswe/bounswe2022group1/issues/405
- Editing authentication related requirements slightly: https://github.com/bounswe/bounswe2022group1/issues/437
Pull Requests for Milestone 1:
- Backend-dev Login, logout and change password functionalities: https://github.com/bounswe/bounswe2022group1/pull/364
- Added test cases for login, logout and register: https://github.com/bounswe/bounswe2022group1/pull/367
- Adding the latest Docker files for AWS EC2 deployment: https://github.com/bounswe/bounswe2022group1/pull/426
- Merging Backend-Development into master https://github.com/bounswe/bounswe2022group1/pull/431
- Adding communicator in parentheses next to me: https://github.com/bounswe/bounswe2022group1/pull/300
Unit Tests for Milestone 1:
- I have prepared unit tests for register
- I have prepared unit tests for login
- I have prepared unit tests for logout
- You may check their codes in this PR
Additional Information for Milestone 1: I have carried out online support to both the frontend and android teams in using our APIs. We have fully documented, yet they sometimes still needed further explanation.
Ahmet Cemil YAZICI
Member: Ahmet Cemil YAZICI, Group 1, Android Team, Online Learning Project(Budemi), Personal Page
Responsibilities for Milestone 1: I have dealt with Scenario & Mockups creating the Scenario and Mockup slides with my teammate Ömer Özdemir, Harun Erkurt. I have also designed the homepage of the app, I have designed the main page, changed the visibility of the buttons according to user token which is responsible for checking if the user is logged or guest. I also took part in the reviewing process for some of my teammates’ pull requests and issues.
Responsibilities for Milestone 2:
- I was responsible for work distribution decisions for Android team.
- I took on the main page design and implementation.
- I was responsible for profile page design and implementation.
- I have also designed the see profile page design and endpoint connection.
- I was responsible for edit profile page design and endpoint connection.
- I was resposible for Mockup & Scenarios for this term.
- I have changed the requirements according to changes on the project as we go on with the project.
- I have reviewed and changed necessary UML sequence diagrams.
- I was responsible for documenting the changes on requirements for milestone 2.
- I was responsible for setting the APK icon on android team.
Responsibilities for Milestone 3:
- I was responsible for work distribution decisions for Android team.
- I took on the main page design and implementation.
- I was responsible for profile page design and implementation.
- I have also designed the see profile page design and endpoint connection.
- I was responsible for edit profile page design and endpoint connection.
- I was resposible for Mockup & Scenarios for this term.
- I have changed the requirements according to changes on the project as we go on with the project.
- I have reviewed and changed necessary UML sequence diagrams.
- I was responsible for documenting the changes on requirements for milestone 3.
- I was responsible for changing the APK icon on android team.
- I was responsible for adding navigation bar to change password page.
- I was responsible for adding navigation bar to profile page.
- I was responsible for adding new resources for presentation (20 of them).
- I was in charge of code reviews for this milestone, approving pull requests etc...
- I did background, text colouring for some pages.
Main Contributions for Milestone 1: I have implemented the xml and activity file of main page, found example png files on google and put on drawables. Used images for example main page and image buttons. I have also checked if user is logged or not and set visibility accordingly. I have reviewed and merged several files, made several pull requests for my own changes. I also bugfixed my friends code, solved the unexpected errors.
Main Contributions for Milestone 2: I took on being a part of Android team on the first meeting, I have played an active role on duty assignments throughout the project. I have started with the main page implementation and design, i have put on the necessary buttons and images. I have then worked on profile page which we access through main page. I have implemented and designed see profile page and edit profile change. I then worked on endpoint and database connection for these pages. I set the APK icon on Android APP. In the end i took notes on the milestone presentation for further improvements. I have wrote the requirement changes progress for this milestone 2.
Main Contributions for Milestone 3: I have played an active role on duty assignments throughout the project. I have started with the main page implementation and design, i have changed or improved the necessary buttons or images. I have then worked on profile page and fixed some bugs which we access through main page. I have implemented new features and designed see profile page and edit profile change. I then worked on endpoint and database connection for these pages. I set the new APK icon on Android APP. I have wrote the requirement changes progress for this milestone 3 group report.
- Collaborative Work on Android Studio
- Initial Homepage Commits
- View Binding Decision
- Buttons for Homepage
- Visibility Change on Guest
- Sequence Diagram Revisions
- Android Team Meeting
- Modifying Requirements
- Creating Individual Report Template for Milestone 1
- Scenario & Mockups
- profile page creation, functionality - Android #553
- Adding profile creation page for new users. #575
- Create - Edit Profile Page - Android #594
- Android Team - Milestone 2 Coding Part Finished #600
- Profile Page - Image POST API / Android #604
- APK Icon Set - Android #630
- Customer Meeting Evaluation - Android Team #503
- Android Team Meeting #515
- Updating requirements to match current project plan - Android #585
- Profile Page Endpoints Change Proposal - Android #573
- Milestone 2 Tag #586
- Work Distribution - Android #587
- Requirement changes progress #647
- Implementation and Editing Action Bar #707
- App Icon Changed - Android #877
- Added navigation bar to Change Password - Android #892
- Added navigation bar to Create Profile #893
- Bugfix - Android #918
- Navigation Bar on All Pages - Android #769
- Changing Budemi APK icon - Android #796
- Need to Add Navigation to Other Pages - Android #891
- Mock Data and Rehearsal for Milestone 3 - Android #920
- Adding resources for learning space Python #931
Pull Requests for Milestone 1:
- First Pull for Homepage
- Buttons added on Homepage
- Finalized Budemi Android Team
- Creating a Fresh Branch for Working Code
- Deleting Android from Master Because of an Error
Pull Requests for Milestone 2:
Pull Requests for Milestone 3:
- Android main #884
- navigation bar added to change password #888
- navigation bar added to create profile #894
- deleted android w/ omer #911
- Android main #886
Unit Tests for Milestone 1:
- We have no unit tests implemented on android team due to backend team already implementing them for api's and android team used human interactions to test possible edges.
Unit Tests for Milestone 2:
- We have no unit tests implemented on android team due to backend team already implementing them for api's and android team used human interactions to test possible edges.
Unit Tests for Milestone 3:
- We have no unit tests implemented on android team due to backend team already implementing them for api's and android team used human interactions to test possible edges.
Additional Information for Milestone 1: I have assumed several roles on top of my own to implement and bugfix several pages of my friends. Also helped to improve the designs, and codes. Checked other developer teams apps to get ideas and use on our project.
Additional Information for Milestone 2: I have took on additional responsibilities throughout the project for work distribution and 1v1's with professor. Peer learning with my group mates.
Additional Information for Milestone 3: I have took on additional responsibilities throughout the project for work distribution and 1v1's with professor. Peer learning with my group mates.