Skip to content

Contribution Log

Ethan Mitchell edited this page Apr 5, 2022 · 67 revisions

This page contains the information of each contributor's contributions to this project.

Timetable

Name Contributions
Jessica Fenwick (Lead)
  • Allocated Subteams based on preferences
  • Set up when2meets for all full and subteam groups
  • Lead Subteam Meetings
  • Created Issues discussed in subteam meetings
  • Researched file uploads using React
  • Worked on UI Designs for Upload and Courses Pages
  • Presented Future Work to class
  • Arathi Biju
  • Created UploadPage component on front-end
  • Created CoursesPageCard and BuddyCard component on front-end courses card
  • Implemented testing for UploadPage, CoursesPageCard and BuddyCard components
  • Linked timetable upload on frontend to backend endpoints
  • Fix uri encoding in backend endpoint
  • Contributing guidelines in front-end and back-end repo
  • Added wiki pages for Wireframe designs and MVP outline
  • Issue creation
  • Thomas Holster
  • Initial timetable endpoint
  • Unit testing for .ics parsing
  • Calendar url submission endpoint
  • Do Hyun Lee
  • Implementation of initial .ics file parser
  • Testing for initial .ics file input parsing
  • Issue creation for timetable backend
  • Created Backend Structure Wiki
  • Communication

    Name Contributions
    Eric Stuart (Lead)
  • Setup swagger implementation for documenting endpoints
  • Setup Socket.IO library implementation and a basic event to test the implementation
  • Helped with setup of the communication data models
  • Small changes and additions to the future works and Socket.IO wiki pages
  • Pooja Patel
  • Implement API specifications for Endpoints
  • Changing Swagger UI dependency from Spring-fox to Springdoc
  • Created common code conventions wiki
  • Nicholas Bates
  • Implement SocketIO events for sending and receiving user chat messages
  • Manage user subscriptions to live chat events
  • Remove unnecessary classes and other Socket related cleanup
  • Jenny (Tyler) Wang
  • Setup communication data models + database classes etc (helped by Eric)
  • Initial API specifications/endpoint logic classes
  • Backend APIs wiki
  • Pairing

    Name Contributions
    Flynn Fromont (lead)
  • Setup group discord
  • Chaired full team meetings
  • Setup initial Backend Spring-boot project
  • Created the matchBuddy endpoint
  • Managed Pairing team issues
  • Created the course & student-course entities/table
  • Fixed swagger dependency issues
  • Created the method to create courses and population then with students when they add their calendar
  • Setup github actions for automatic build/test on build
  • Created mock data to load on server startup for demonstrations
  • Refactored and removed unused code
  • bug fixing and test creation mainly for PairingController & Course (timetable) integration tests
  • Created backend-devops wiki page
  • Performed demonstration to class
  • Raymond Li
  • Buddies matching algorithm design and documentation
  • Initial implementation and unit tests of addBuddy method
  • Created backend entity design wiki page
  • Shreya Singaraju
  • Added Code of Conduct for both repositories
  • Created the removeBuddy endpoint
  • Removed unused code
  • Created Architecture-Diagram wiki page
  • Messaging

    Name Contributions
    Lilly Zhang (lead)
  • Created loading component for the front end
  • Created pairing popup component for front end
  • Connected loading and pairing component together for full popup component
  • Connection of popup with the pairing page
  • Unit testing for loading and popup screen
  • Setup for common shared courses
  • Frontend Structure wiki page
  • Leading meetings
  • Kirsty Gong
  • Created the profile badge for frontend
  • Created course card component for the pairing page
  • Created the pairing page and implemented the course selection function for pairing
  • Unit testing for frontend components
  • Connect pairing page to its require API
  • Contributed to the Wiki pages
  • SV Singh
  • Created the dialogues list component
  • Created the user search component
  • Set up github actions for continuous testing on the frontend
  • Created the DevOps wiki page for frontend
  • Created API stubs on the frontend
  • Implemented API functions used on the frontend
  • Created unit tests for dialogues list and user search
  • Fixed bugs in component tests
  • Stephy Yu
  • Created MessageBubble component
  • Created ChatHeader component
  • Organised Chat Page
  • Unit Testing of created frontend components
  • Created Frontend Testing Infrastructure Wiki Page
  • Danil Linkov
  • Material UI initial installation and set up for the project
  • Created ChatListItem and ChatList components
  • Created ChatInput component
  • Socket.io client installation and initial set up
  • Created Socket.io event listeners and broadcasters
  • Unit testing of created frontend components
  • Created Socket.io wiki page documentation
  • Cheng-Zhen Yang Frontend Teams:
    Messaging Team
  • Created the navigation component for the frontend
  • Created the chat detail component for the frontend
  • Created the chat context for the frontend
  • Connect the pairing and popup to the backend for the frontend
  • Connect the chat page to the backend for the frontend
  • Refactor Socket IO context for the frontend
  • Setup Navigation throughout pages for the frontend
  • Fix Socket IO connection with backend for the frontend
  • Timetable Team
  • Propose Timetable Wireframe design on Figma
  • Route Timetable pages with flow for the frontend
  • User Team
  • Fix Google OAuth2 connection with backend for the frontend

  • Backend Teams:
  • Create CORS and CSRF config for the backend
  • Timetable Team
  • Create getCourses and getCourse endpoint for the backend
  • Communication Team
  • Create getChatList endpoint for the backend
  • Create Message Repository for the backend
  • Created Online Event Logic for Socket IO in the backend
  • Connect Socket IO to spring-boot startup for the backend
  • Refactor Socket IO to use JWT token for the backend
  • User Team
  • Refactor Buddies entity to support multiple buddies for the backend
  • Refactor Endpoints to use Auth Interceptor for the backend
  • Fix Swagger Documentation for Auth for the backend

  • UI and Design:
  • Propose Wireframe design on Figma
  • Propose Socket IO Events Design
  • Design Base UI Components on Figma
  • Design Pairing Page on Figma
  • Design Chat Page on Figma
  • User

    Name Contributions
    Shrey Tailor (Lead)
  • Created project organisation and both repositories (added branch protection)
  • Setup initial React project with relevant tooling (ESLint, Prettier, Jest)
  • Created the issue labels
  • Automation for PR and issue templates
  • Created the Carousel component
  • Refactored and integrated Settings component, adding backend calls so pairingEnabled updates
  • Migrated all meeting minutes to the wiki
  • Created the Issue Labels wiki page
  • Created the Authentication Flow wiki page
  • Implemented frontend authentication context
  • Implemented protected routes and Axios request middleware
  • Figma prototype for the Login page
  • Presentation: overview of technologies used
  • Dhvani Shah
  • Created Figma mockups for the login page.
  • Set up Google OAuth on Google Developer Console.
  • Created login button component with OAuth functionality
  • Unit testing of Login Button
  • Implemented the Login screen with Carousel component and the Login Button
  • Implemented the Pairing Button component on the Settings Screen
  • Unit tested the pairing button component
  • Contributed to the Wiki pages
  • Jafar Maash
  • Implemented login endpoint in backend for users to sign in with google in order to register on the app
  • Implemented HandlerInterceptor to pre-handle HTTP requests and authenticate them before carrying out operations
  • Implemented backend token logic
  • Implemented retrieval of users by ID in database
  • Initialised creation of the backend README
  • Yulia Pechorina
  • Added CODEOWNERS for the backend repository
  • Implemented initial user backend setup - repository, service, controller
  • Implemented user endpoint to retrieve user by id
  • Implemented endpoint to enable/disable pairing for a user
  • Implemented endpoint to validate JWTs
  • Added buddy count to to User DTO
  • Team 5

    Name Contributions
    Kimsong Lor
  • Implemented endpoint to get buddies in a course
  • Implemented endpoint to upload timetable .ics file
  • Implement endpoint to delete conversation between users
  • Created issues for the backend repository
  • Updated the wiki with all relevant updates such as newly implemented endpoint
  • Yu Chen Dong
  • Added submission button on upload timetable popup
  • Restricted file upload to .ics file
  • Restricted file upload to one file, new files will override
  • Did the app demo
  • Xiaoqi Chai
  • Added “No more matches” in pairing popup
  • Added “No buddy found” notice
  • Added Timetable Upload popup
  • Christopher Alba
  • Added search functionality for chat
  • Helped team members get started with issues and any technical difficulties they have
  • Organized team meetings and agendas
  • Helped people get setup with the repositories from team 1
  • Actively reviewed all frontend pull request and responsible for merging them in
  • Hyung Park
  • Added "No buddy found" notice in pairing page when no buddy was found for pairing.
  • Fixed the gap between course cards being clickable and thus incrementing the selected course card.
  • Mining Miao
  • Implemented endpoint for search function in chat page
  • Added unit test for search function endpoint
  • Reviewed, and approved PRs
  • Created issues for the backend repository
  • Trinh Vo
  • Added styles to the timetable upload page
  • Reviewed and approved pull requests
  • Dave Shin
  • Implemented the endpoint for unblocking users
  • Added tests for testing blocking and unblocking of users
  • Reviewed, commented and approved pull requests
  • Jiayang Li
  • Did demo introduction
  • help on env file
  • Reviewed pull requests
  • Qunzhi Zhou
  • Added styling to the courses page card component
  • Linked the file input on the frontend to API endpoint on click of submit button
  • Ethan Mitchell
  • Wrote down meeting minutes for whole team meeting 22 March
  • Wrote backend issue #139 about adding group chats
  • Upgraded and tested searching for potential buddies to prioritise students who share more courses
  • Adam Ross (Backend lead)
  • Improved the total test code coverage to over 80% using TDD for the Backend repository, fixed found bugs, refactored code to meet convention
  • Fixed GitHub Actions CI workflow for the Frontend and Backend repositories
  • Refactored pull_request_template.md to comment out automatically linking example issue bug for the Frontend and Backend repositories
  • Refactored the login carousel for the Frontend repository to correct spelling and grammatical errors in the displayed text
  • Implemented endpoint for the current user to block another user, added test cases for it
  • Implemented endpoint to get list of users blocked by the current user, added test cases for it
  • Implemented endpoint for the current user to report another user, added test cases for it
  • Implemented endpoint to withdraw a course that the currrent user is enrolled in, added test cases for it
  • Created 8 issues for the Backend and 4 issues for the Frontend repositories
  • Code reviewed 14 pull requests with approvals, requests for changes and general feedback in the Frontend and Backend repositories
  • Lead and helped the Backend team with task management and meetings, and helped the Frontend team
  • Responsible for maintaining the Backend repository (not the settings) and merging PRs to the default branch, including fixing merge conflicts
  • Updated the Wiki to reflect changes made in the second assignment to the DevOps, Backend Entity Design and Future Works pages
  • Updated the Wiki with Backend and full team meetings details, and my individual contributions to the Backend Endpoints, Contributors, and Contribution Log pages
  • Edited the demonstration presentation powerpoint slides
  • Final moments Google OAuth2 login fix