Skip to main content Link Menu Expand (external link) Document Search Copy Copied

Team Minutes // Secure Software Development 2023

Minutes Captured by: Nkosilathi Tauro, Date Format (DD/MM)

Members:

Team Meeting 1 (06/05)

The Team met for the first time, and we drafted and completed the Team Contract

  • We decided to brainstorm which domain to pick and discuss that in our next team meeting
  • We have a rotational Team Leader (This week it was Ales)
  • We also lost one of our Team members due to a team reshuffle.

Team Meeting 2 (13/05)

  • The Team decided to go with the Dutch Police Forensics Domain
  • The team decided to make use of Python as the Language for this project.
  • Things that the Team needs To think about:
    • Look at Django and Flask
    • We will need Testing Libraries, Authentication, Databases, Logs etc
    • Microservices? (Containers: Docker etc)
    • Hosting(AWS, Google Cloud etc)

Todo: The team will each design a version of the below System Architecture. We will then meet up next week to choose the best version and proceed with that.

(Proposed, feel free to change this) We propose a microservices’ architecture, with the following services:

User Service: Handles authentication, authorization, user profiles, and roles.
Data Service: Responsible for storing, retrieving, updating, and deleting data.
Encryption Service: Encrypts and decrypts data.
Event Monitoring Service: Monitors and logs system events.
Analysis Service: Performs complex data analysis tasks.
API Gateway: Routes requests to appropriate services.

Team Meeting 3 (20/05)

  • The Team met up to discuss the Designs we had worked on in the past week.
  • We set up some timelines to get the Design document done and ready for the Tutor review
  • We set up a knowledge dump document for the team to share what they are working on

Team Meeting 4 (27/05)

  • The Team started drafting the Design Proposal
  • We are getting ready to Submit it for Tutor Feedback this week
  • We also started with the Command Line Prototype

Team Meeting 5 (03/06)

  • The team met up to discuss the feedback we got from the tutor in the review session.
  • Overall, we were on the right track with our initial first draft, we just had to put more focus on following the diagram rules (e.g. No state in a use case diagram) and making our document less wordy but still keeping its brevity.
  • The team divided up the Final tasks based on the feedback received.
    • Francis will work on the Background and revise the Use Case diagram
    • Abdul will work on the Activity diagram
    • I will work on revising the Proposed system, design decisions and an Architecture diagram
    • Ales will continue to work on the Prototype.

Team Meeting 6 & 7 (08/06) (10/06)

  • We met up to discuss the final tasks we had assigned each other.
  • We reviewed and compiled the final document.
  • Ales completed the prototype and pushed the files to GitHub
  • We Submitted the Final Design Proposal and Prototype on Saturday (10/06)

Team Meeting 8 (20/06)

  • We met up to discuss the best approach to developing the Project.
  • We broke down the application into different components and assigned them to each other.
  • Ales: Working on Cyberdetective view and the Login Service
  • Abdul: Working on the Public View
  • Francis: Working on the Reporting Form
  • Nkosi: Working on the Admin View, Deployments, and User Services
  • I set up the initial Repository on GitHub for the team to start working from.
  • We also drafted up some Wireframes to assist the team in creating their views.

Team Meeting (Ales <> Nkosi 1-on-1) (21/06)

  • Met up with Ales to have a Learning session on what he was working on

Team Meeting 9 (24/06)

  • We had a Show and Tell Session where each team member presented what they worked on, progress check
  • We had discussions about possible improvements, but we decided to defer them to the end and focus on the core requirements for now
  • Abdul was not available as he had an emergency to deal with - We hope everything went well.

Team Meeting 10 & 11 (27/06) & (01/07)

  • Significant Progress was made by Ales and I (Nkosi) on the Features we were working on.
  • The Core requirements are pretty much complete, I stepped in to Complete the Public View and the initial reporting form.
  • Nkosi Offered to assist team members in getting their development environments setup so that they could contribute on their assigned features.
  • Nkosi implemented the Initial tests for the application

Team Meeting (Francis <> Nkosi 1-on-1) (04/07)

  • Met up with Francis to discuss his assigned feature (Reporting Form)
  • I assisted him with setting up his dev environment and getting Django and source control (Git) up and running.
  • We Integrated what he had been working on (Reporting Form model) and merged it into the dev branch

Team Meeting 12 (05/07)

  • We had a discussion on what are the remaining requirements we needed to implement.
  • Unit Testing, Multithreaded/Concurrent requirement and adding functionality to the Logs were the remaining features.
  • We divided the remaining tasks.
  • Ales will be creating unit tests for the user_service
  • Francis & Abdul will be creating unit tests for the reporting_service
  • Nkosi will work on the Multithreaded/Concurrent requirement and add functionality to the Logs

Team Meeting 13 (10/07)

  • Nkosi Implemented an Email threading system and caching to meet the Multithreaded/Concurrent requirement.
  • I also then implemented Rate Limiting as additional functionality for the Logs.
  • I ran the project through Pylint and created the Pylint reports.
  • I created additional tests for the reporting_service
  • Ales created tests the user_service.
  • The team is also preparing for the upcoming Presentation on 13/07, these were the additional meeting points:
    • The project, did we meet all the requirements?
    • Have a look at the submission checklist.
    • The 2 PowerPoint Slides That we can create for the presentation.
    • The Upcoming Presentation (How will we present it? Will we divide the Presentation into 4 equal parts, so everyone can have a chance to contribute?)
    • Functional Testing: We can each live test every component of the application in the meeting, to make sure it all works.