Milestone 1.1 Report - altanborali16/SWE574-Group2 GitHub Wiki

Milestone 1.1 Report

This is Milestone 1.1 report submitted after the team took corrective action to make up for the shortcomings of the initial Milestone 1.

Deliverables and status

Software Requirements Specification

Link: https://github.com/altanborali16/SWE574-Group2/wiki/Requirements-Specification

Status: The requirement specification is inherited from the previous semester. Sections VI.B and VI.C capture the new requirements (badges and recommendation system) and are currently work-in-progress.

Software Design (UML diagrams), use-case scenarios

Link: https://github.com/altanborali16/SWE574-Group2/wiki/Designs,-diagrams,-and-use-case-scenarios#use-case-scenarios-and-activity-diagrams

Status: updated

UI mockups

Link: https://github.com/altanborali16/SWE574-Group2/wiki/Designs,-diagrams,-and-use-case-scenarios#ui-mockup-designs

Status: completed

Project Plan, Communication Plan, Responsibility Assignment Matrix

Project Plan

External milestones and deadlines:

  • October 21 - infrastructure
  • November 25 - MVP
  • December 16 - Product delivery
    Status: agreed

Communication Plan

  • Customer communication: Monday evenings.
  • Customer reports: released on external milestone deadlines (see above).
  • Weekly team meetings: Monday evenings. Decision points are agreed upon and distributed to all team members.
  • Iteration retrospectives: at the end of the iteration.
  • In-team communication: frontend and backend teams communicate ad hoc; meeting minutes are kept & distributed to all team members. Status: agreed and kept updated.

Responsibility Assignment Matrix

Task Efe Feridun Altan Enes Aliser Yana
Backend Development P S S
Architecture P S
DevOps P S
Scrum Master S
Transformation Coach S
Cloud Ops S P
Frontend Architecture P
Frontend Development P S S
UI/UX Design P S
Wireframes & Mockups P S
Event Flows & Diagrams S P
Project Planning S P
Requirement Analysis P
Repository Quality Inspection S S

Legend:

  • P: Primary Task
  • S: Secondary Task

Weekly reports and meeting notes

Link: https://github.com/altanborali16/SWE574-Group2/wiki/Meeting-notes
Status: updated

Milestone Review

Summary of project status

The backend was being developed in two parallel development branches to factor in any unexpected outcomes. One of the backends was then integrated with the developed frontend, and JSON structures aligned between the FE and APIs in the backend. Postman collections with details about API endpoints were shared with the team for both backend development branches.

Lessons learned (reflection)

The corrective action plan allowed the team to build the features missing from the previous semester; they will serve as a foundation for the development of new features (badges and recommendations) in the next development phase. Working on two unrelated and siloed backends in parallel now seems unproductive, and the team will transition to working on one project. A Postman collection with details about each API endpoint in the chosen development branch will help identify how the endpoints are structured, what are the request requirements, and the expected inputs and outputs.

Evaluation of deliverables status and impact on the project plan:

With the features from the previous semester completed, the team can proceed to design and implement the new features (badges and recommendations).

Evaluation of tools and processes to manage the project:

  1. The project processes are managed exclusively using github tools (issues, Wiki, discussions, and Github Project). All team members are responsible for grooming the backlog of issues assigned to them. This eliminates the need for additional "housekeeping" during meetings.
  2. The team works in iterations and uses the "Iterations" feature in the Github Project to define the iteration scope.
  3. Meetings are minuted, and minutes are shared on the Wiki page. This allows us to keep all team members up to date.
  4. Decisions taken at meetings are recorded on a separate page Desicions and Policies for easy reference.
  5. The team chose a project manager responsible for setting and assigning tasks and decomposing complex tasks into manageable steps. The project manager also controls deadlines and holds team members to account.

Individual Contributions (references to issues, PRs, comments, commits etc)

  1. Group Member Name: Altan
  • Responsibilities: Frontend development, code revision, project communicator, project manager. Which I failed as project manager so I am no longer the project manager.

  • Main contributions: Research and brief test page for pwa. Initial creation of Login and Register pages. Folder structure of frontend. Code refactoring and pair coding with Enes. Checking previous semester projects and giving detailed feedback such as Yana's Repo Discussion

  • Code-related significant issues: All the issues with a label "component : frontend" is either done, reviewed or pair coded by.

  • Non-code-related significant issues: Creating project on github, controlling the status of issues, adding issues to iterations. Joined Feridun's deployment process to understand how to deploy project. Discussions with backend team to integrations.

  • Pull requests that you have created, merged, and reviewed. I tried to merge initial-frontend branch to dev-frontend which I had conflicts and could not manage to resolve them, I asked Efe for help and thanks for him he manages my merge.

  • Commits : Commit Commit Commit Commit Commit Commit Commit Commit Commit Commit

  • Additional information: Try connect with design team and backend team to manage frontend development on solid state.

  1. Group Member Name: Aliser
  • Responsibilities: Frontend development, code revision, design and documentation

  • Main contributions: Creating User scenarios and activity diagrams (together with Yana) and Event Flow Diagrams

  • Code-related significant issues: The issues that you have personally resolved or reviewed that contribute to the code base demonstrated during the demo. You must provide the relevant PRs and commits.

  • Non-code-related significant issues: I conducted preliminary work on how to create user scenarios, activity diagrams, and event flow diagrams, and developed new approaches while creating the diagrams.

  • Pull requests that you have created, merged, and reviewed. If you experienced any conflicts regarding the pull requests you have engaged in, briefly summarize the conflicts along with how they were resolved.

  • Additional information: Mention any additional task you have performed that is not listed above.

  1. Group Member Name: Efe
  • Responsibilities: Architecture, Backend development, code revision, CI/CD management
  • Main contributions: Backend architecture, backend design for the new features, backend development, branch and pull request management, support cloud ops led by Feridun, support FE integration led by Altan.

All CLOSED issues I was part of: https://github.com/altanborali16/SWE574-Group2/issues?q=is%3Aissue+is%3Aclosed+assignee%3Aefestrikesback

and many more have not updated for the two-week extension

++ more commits under feature branches (we delete after merge so they might not exist) feature/efe-33-build-security-configuration-2 efe-27-initialize-backend dev-backend dev-backend-deployment

  • Non-code-related significant issues:

Resolved branching and merge issues, reviewed all PRs, created development policies and tutorials for them, and added personal notes from the class and our weeklies...

  • Pull requests that you have created, merged, and reviewed. All PRs I was part of

  • Additional information: We have decided to have a bit harsher leading method during the week extension period. I was elected to supervise and plan our significant sprint. I created new rules and policies to make sure we delivered the work and experienced no major issues we had previously.

Reform notes

  1. Group Member Name: Enes
  • Responsibilities: Frontend development, code revision, mockup design, documentation

  • Main contributions: I was one of the responsibles for the initial development of the Login and Register pages together with Altan. I was also responsible for designing the UI of the project. You can see the UI designs Here.

  • Code-related significant issues: Understanding how Bootstrap works was a little bit challenging for me.I am still trying to improve myself. I also took some time to implement validations on the frontend as I did not know how to do it. I and Altan decided to use Yup library for implementing validations on the login/register pages so we have gone through some of Yup implementation videos from several sources.

Here is the list of commits that is done by me as far as the frontend development is concerned.

  1. Commit a44c6f
  2. Commit afe0e2
  3. Commit d27555
  • Non-code-related significant issues: I gave several suggestions on how the recommendation system and badge system will work and how it's going to look like on the frontend.

  • Pull requests that you have created, merged, and reviewed. I have not took any role in pull requests as Altan did it already.

  • Additional information: N/A

  1. Group Member Name: Feridun

Responsibilities:

  • DevOps, Dockerizing, and deployment operations for the software development team
  • Ensuring successful CI/CD pipeline setup and maintenance
  • Configuration management, automated testing, and deployment to cloud environments
  • Monitoring, troubleshooting, and maintaining deployment environments

Main Contributions:

  • Designed and implemented Docker containers for efficient and scalable backend and frontend deployment
  • Set up Docker Compose for local and production environments
  • Configured CI/CD workflows to automate testing, building, and deployment processes
  • Worked with team to troubleshoot and resolve deployment issues, including database and connectivity issues on cloud infrastructure
  • Ensured proper security group configurations and network permissions in AWS for secure access to services List of related commits
  • Commit Link
  • Commit Link
  • Commit Link
  • Commit Link

Code-Related Significant Issues:

  • Debugged and resolved deployment issues related to PostgreSQL container initialization and volume mounting on EC2, enabling reliable backend connectivity
  • Addressed cross-origin (CORS) issues to ensure successful communication between frontend and backend services

Non-Code-Related Significant Issues:

  • Configured EC2 instance permissions, security groups, and environment variables to support backend and frontend integration
  • Resolved issues with Docker daemon permissions, enabling proper user access and operational efficiency in development and production environments

Pull Requests Created, Merged, and Reviewed:

  • Created PRs for Docker configuration files, environment variable management, and CI/CD pipelines
  • Merged team PRs after code and functionality reviews, including conflict resolution on configuration files
  • Reviewed and advised on Dockerfile optimizations for reduced build time and improved security

Additional Information:

  • Provided documentation for deployment procedures, Docker setup, and CI/CD workflows for team reference
  • Assisted with cloud service configuration, including AWS IAM roles and permissions, to streamline deployment processes
  1. Group Member Name: Yana
  • Responsibilities: Backend development, code revision, design and documentation

  • Main contributions for Customer Milestone 1.1:
    I worked on completing the features from the previous semester by building on top of my previous project, working in this branch..

  • Code-related significant issues:
    implement post upvote For the upvoting feature to function properly, a new table must be introduced in the db with post id/user is PK pair, this will fix the current bug whereby a post can be upvoted multiple times. implement user feed

  • Non-code-related significant issues: The issues that you have personally resolved or reviewed.

  • Pull requests that you have created, merged, and reviewed.
    I worked on my beach dev-yana without pull requests.

  • Additional information:
    N/A

Customer feedback

To be entered after presentation on November 04.

Work plan

Tentative project plan and scope of work between November 05 and December 16 (final release):

  • design and implement user-specific badges
  • design and implement community-specific badges
  • design and implement recommendation system
  • deploy application
  • prepare release

Software pre-release version notes

Release Name: 0.1.0-alpha (pre-release option)

Release Description: Brief description of requirements that are covered: Role-based access
Content base features (posts, custom templates, create community)
User profile page
List communities the user is subscribed to
Search functionality

Tag name: customer-milestone-1.1

Android package file (.apk) included

Instructions for building and running the software should be provided, including Docker build instructions and environment variables.