Skip to content

Milestone 1 Review Report

Abdullah edited this page Oct 25, 2024 · 7 revisions

Milestone Review

Deliverables

Project Status Summary and Planned Changes

The project is progressing as planned. We’ve completed the design phase and have initialized the backend, web, and mobile projects. Key functionalities such as authorization and follow/unfollow features have been implemented, with mock data used during our recent presentation. Moving forward, our focus will be on implementing the remaining functionalities to meet all project requirements. While our plan and strategy may adapt as needed, this represents our current status.

Customer Feedback Summary and Insights

The primary feedback from the customer centered on the project’s scope, which was seen as overly broad. We were advised to narrow the focus specifically to the music domain, excluding other areas like albums, events, and artists. This feedback suggests a need to refine our project direction to better align with customer expectations.

Deliverables Status Evaluation and Project Plan Impact

As outlined, we’ve implemented foundational features, including authorization and follow/unfollow capabilities. Our aim in this first milestone was to convey the core idea of our project, which has led us to revisit certain requirements in response to customer feedback. This input will guide us in refining the scope and adjusting our project plan accordingly.

The requirements addressed in this milestone

User Requirements

1. User Registration and Authentication

1.1 Registration

1.1.1 Users shall register for an account by providing necessary information, including name, username, email, and password.

1.1.2 Users shall choose their user categories.

1.2 Authentication

1.2.1 Users shall log in to the system using their username and password.

1.2.2 Users shall be able to securely reset their passwords.

1.2.3 Users shall be able to log out.

4. Music Management and Recommendations

4.1 Music and Artist Recommendations

4.1.1 Users shall see music and artist recommendations based on the music or artist they are viewing.

4.2 Music Playback

4.1.2 Users shall be able to play music directly through embedded Spotify players within the platform.

System Requirements

1. User Registration and Authentication

  • 1.1 The system shall securely store user registration information and authenticate users during login.
  • 1.2 The system shall allow users to reset their passwords securely.

4. Music Management and Recommendations

  • 4.1 The system shall provide music recommendations based on user preferences.
  • 4.2 The system shall provide Spotify embed for users to play music.

Evaluation of tools

We managed our team project using Git, consistently creating issues to assign tasks and track progress. For communication, we primarily relied on WhatsApp to facilitate instant messaging and quick coordination outside of meetings. Regular meetings in the lab were crucial for face to face discussions and collaborative problem-solving, sometimes extending beyond lab hours. We kept communication focused within each development team to maintain efficiency and minimize misunderstandings. Overall, these tools and processes enhanced our collaboration.

Individual Contributions

Member: Ekrem BAL

Main Contributions

For this milestone, I focused on frontend development and project setup, implementing key features and resolving issues to improve the user experience.


Code-related significant issues:

  • Created the tracking issue and continuously added issues related to the web: #260
  • Created pre-release: #356
  • Implemented a mock feed page, post page, added comments, and more mock data: #329
  • Fixed a bug where multiple iframes were not appearing properly: #328
  • Fixed a bug where axios was not added as a dependency properly: #327
  • Reviewed Onur's PR on adding axios request utility function: #325
  • Added a recommendations bar (currently mock data), which recommends tracks on the track page: #316
  • Implemented routing for the page, reusing the same PostPage component for tracks, playlists, albums, events, etc.: #298
  • Created a component for embedding the Spotify iframe, later replaced by a third-party component due to bugs: #297
  • Created the web project and added main dependencies like React, TailwindCSS, DaisyUI, and TypeScript: #300

Non-code-related significant issues:

  • Created the use case diagram: #285
  • Wrote the non-functional requirements: #256
  • Researched the domain and brainstormed ideas on embedding Spotify and additional data to display: #245

Member: Abdullah Enes Güleş

Responsibilities

I was responsible for brainstorming ideas and deciding on our project features with all my other group members and developing the mobile application with Enes.

Main Contributions

  • I created issues for our mobile development roadmap.
  • I actively participated in group discussions and project design.
  • I researched the domain and the technologies that we can use to develop our project.
  • I participated in finding a name for
  • I created a scenario.
  • I helped creation of functional requirements.
  • I implemented a navbar for navigating between the pages.
  • I created the login and register pages.
  • I created placeholder profile and search pages.
  • I created the apk file for our app.
  • I initialized the milestone report and added it to the wiki. I also added the deliverables.

Code-Related Significant Issues

Non-Code Related Significant Issues

  • Milestone planning issues #364 #365 #280
  • Creating scenario for content filtering #284
  • Discussing and creating mobile development roadmap: #272
  • Jorge personal page (reviewed) #240
  • Add issues to tracking issue #260
  • Help writing and reviewing user requirements #255
  • Deciding on project name with other members #288

Pull Requests

Created

  • Implement navbar and placeholder search and profile pages #357
  • Implement login and register pages and some styling #358
  • Add username and role selection to register page and forgot password to login page #359

Reviewed

  • Enes's pr regarding post page spotify embeds in mobile app #348

Merged

  • Some mobile prs were between branches so some commits were missing in the main branch #361 #362

Additional

  • I am taking another course with our new member Jorge and because of that I am the person he talks to the most. So, I tried to help him integrate into our group as much as I can.
  • Since Enes was not in the mobile development team, we talked about the problems we faced during the last semester. I tried to convey the knowledge we gained while developing our previous project.

Jorge Velázquez Jiménez

Responsibilities:

  • Member of the front-end team, responsible for creating mockups and contributing to the design and development of the user interface.

Main Contributions:

  • Creation of all mockups: Designed all the project mockups using Figma to ensure a clear visual guide for the development process.
  • Post cards development: Developed the post cards feature as part of the front-end functionality.

Code-related Significant Issues:

  • Issue #313: Create a post card that uses a Spotify embed, includes username, content (text), created at timestamp, and a like button.
    • PR #315: Link to the pull request where this issue was resolved.

Non-code-related Significant Issues:

  • Mockups creation for Scenarios #275: Created mockups for various user scenarios to guide front-end development and ensure alignment with project requirements.
  • Create personal page #240: Contributed to the project wiki by creating a personal page, detailing roles and responsibilities within the team.
  • Nonfunctional Requirements #256 reviewed: Reviewed the nonfunctional requirements document to ensure that performance, security, and usability considerations were properly addressed.

Pull Requests Created, Merged, and Reviewed:

  • PR #312: Reviewed pull request for adding routes and layout structure.
  • PR #303: Reviewed pull request for implementing the header and navbar with login functionality.
  • PR #315: Created pull request for developing the post card feature (Spotify embed, username, content, created at, like button).

Member: Onur Dilsiz

Responsibilities

As a member of frontend team, I was responsible for creating key components and functions. I was also in charge of some issues related requirements, scenarios.

Main Contributions

  • Focused on frontend development of the web application.
  • Created key components:
    • Header
    • Navbar
    • Input Form
  • Implemented user authentication features:
    • Login page
    • Register page
    • Reset Password page
  • Managed user context for consistent session handling.
  • Added Axios as a request handler for API communication.
  • Structured routes and layouts for intuitive navigation.
  • Addressed bugs:
    • Fixed logout issues.
    • Resolved user context inconsistencies.
  • Contributed to non-code-related tasks:
    • Drafted a new communication plan.
    • Generated project scenarios.
    • Created sequence diagrams.

Code-related significant issues:

  • I created the Input form component. #304
  • I created the login page, allowing users to authenticate. #264
  • I also created a register page for new user sign-ups. #266
  • I added layout and routes for better navigation. #311
  • I fixed the structure of directories to improve organization. #314
  • I added an axios request handler to manage API requests effectively. #322
  • I resolved the bug of logging out when clicked to recommendations, ensuring a smoother user experience. #354
  • I created a navbar component to enhance navigation across the web app. #263
  • I implemented password reset functionality to improve user account security. #347

Non-code-related Significant Issues:

  • I wrote a new communication plan to enhance team collaboration. #230
  • I reviewed the my Personal Page to ensure it meets project standards. #242
  • I wrote a scenario for our project. #273
  • I created Sequence Diagrams to visualize interactions and processes within the application. #283

Pull Requests

Created

  • I added the Header and Navbar with Login. #303
  • I added the Input Form Component. #305
  • I created the Login Page. #306
  • I added the Register Page. #307
  • I added Routes and Layout to enhance navigation. #312
  • I implemented an Axios Request Handler. #325
  • I added Reset Password Functionality. #349
  • I added User Context Functionality. #350
  • I resolved the Logout Bug. #355
  • I fixed the User Context functionality. #363

Reviewed, Merged

  • Create React Project #300
  • Add Spotify Embed Feature #301
  • Add Basic Routing #302
  • Fix Docker Compose for Deployment #352
  • Enes/Post Page and Spotify Embed #348
  • Add Axios as Dependency #330
  • Ekrem/Improve Posts Page #332
  • Add Recommendations Section #333
  • Creation of PostCard #315
  • Fix Spotify Embed Bug #331

Member: Enes Sait Besler

Responsibilities

I focused on mobile development and project setup. Implemented key features for our application. I closed some issues about required for application development but no code related and to track the progression of the team I focused on preparing reports and meeting notes. For you, I listed and explained them:

Main Contributions

My main contributions to the project span both coding and organizational efforts. On the technical side, I set up the mobile project by deciding to use React Native and Expo, which provided a solid foundation for our mobile app development. I created the initial mobile application using Expo, and developed key components like the post page and the Spotify Embed component. I added App.tsx, post card component, spotify embed component, post page, mock posts for our app.

I collaborated with Abdullah Enes to outline the mobile development roadmap, ensuring we have a clear direction moving forward. On the organizational side, I drew content interaction sequence diagrams and helped create other sequence diagrams to visualize system processes. I was involved in generating scenarios and defining functional requirements for the system.

Additionally, I took report meeting notes, identified our accomplishments and action items, and created several issues to track our progress. I worked closely with the team to prepare the project report.

Code-Related Significant Issues

  • I set up the mobile project. Decided to use React-native and Expo. #276
  • I created the post page and some components to do it. #343
  • Created Spotify Embed component for our mobile app.#344
  • We decided to the Mobile development roadmap with Abdullah Enes. #272

Non-Code Related Significant Issues

  • Draw Content Interaction Sequence Diagrams. #292
  • Decide on the name. #288
  • Create Sequence Diagrams #283
  • Scenario Generation #282
  • Scenario Generation #274
  • Functional Requirements: System Requirements #254
  • Edit Wiki Page to Add Report Part #250
  • Review Personal Page #244
  • Review home page #243
  • Organize General Plan #231
  • Write a new communication plan. #230
  • I take the report meeting notes and detecting what we have done and what should be our action items. I created lots of issues. So I will list them: #295, #258, #251, #233
  • I prepared the report with team and expecially Ahmet Burkay. We created issues for them so I will list them: #289, #257, #252

Pull Requests

Created

  • Created the initial mobile application with using expo. #339
  • Added App.tsx, post card component, spotify embed component, post page, mock posts. That was a big and complex PR, I shouldn't have done it like that. #348
  • After project name decided by the group, I renamed the project. #351

Reviewed, Merged

  • Implement navbar and placeholder search and profile pages.#357
  • Implement login and register pages with navigation also add styling. #358
  • Add username and role selection to register and forgot password to login#359

Member: Ahmet Burkay Kınık

Responsibilities

For this milestone, I was a member of the backend team. I was also active participant of the discussion about the projects' domain and design choices. I was also responsible for the user requirements part of the functional requirements and class diagram.

Main Contributions

  • Created the class diagram.
  • Wrote the lab reports for lab 2 and 3
  • Contributed to the user requirements part of the functional requirements.
  • Wrote the class diagram.
  • I reviewed the code and solved a bug.
  • Helped Yusuf Suat to build and run the backend, since he is transfering from another team.

Code-Related Significant Issues

  • Add 127.0.0.1 to allowed host #323

Non-Code Related Significant Issues

  • Write lab report #289
  • Draw class diagram #286
  • Write lab report #257
  • Functional Requirements: User Requirements #255
  • Write lab report #252

Pull Requests

Created

  • Added 127.0.0.1 to the allowed hosts #324

Reviewed

Additional

Member: Batuhan Solmaz

Main Contributions

For this milestone, I focused on backend development and project setup, implementing key features and initializing project.


Code-related significant issues:

  • Created user model in the backend: #310
  • Write basic register and login : #309
  • Inıtıalized the django project: #308
  • Contributed to dockerization and deployement: #271

Non-code-related significant issues:

  • Created one of the scenerios: #291
  • Edited side bar and archived old project: #248
  • Write functional requirements of user requirements: #255
  • Contributed to name decision of the project: #288

Member: Yusuf Suat Polat

Main Contributions

For this milestone, I focused on design, documentation and integrating my new team.


Code-related significant issues:

  • Created the unit tests for Auth functions: #340
  • Created the unit tests for follow/unfollow functions: #341
  • Gave names to urls: #366

Non-code-related significant issues:

  • Created the class diagram: #286
  • Created the sequence diagrams: #283
  • Created & updated the Glossary: #261
  • Wrote the system requirements: #254
  • Contribute the RAM: #365

Pull Requests

Created

  • Not a PR but committed Unit Tests. #324

Reviewed

  • Added 127.0.0.1 to allowed hosts. #324

Member: Esad Yusuf Atik

Responsibilities

For this milestone, my main responsibility was to deploy our frontend and backend servers. Along with the DevOps process, I took participation in reviewing multiple PRs (#339 and #350).

Main Contributions

My main contribution was to write the Dockerfiles and Docker compose files and the reset password feature.

Code-Related Significant Issues

Dockerization of the project along with the backend only docker for frontend team to test their code easier. Adding CORS rules and the forget password feature (the backend part).

Non-Code Related Significant Issues

I reviewed Ekrem's use case diagram, non-functional and functional requirements.

Pull Requests

Created

  • Dockerfiles and docker compose files: #320
  • Rename project name on frontend: #342
  • Backend password reset feature: #346
  • Fix error in docker compose: #352

Reviewed

  • Initialize mobile project: #339
  • Frontend password reset feature: #349
  • Frontend user context: #350

Additional

None

Clone this wiki locally