Repository navigation
Meeting Minutes
Date: 1/03/2022
Absent: Louis
Topic: First meeting
Minute taker: Hazel
- Introductions
- Discuss Brief
- House Keeping
- Decide team name
- Check everyone joined GitHub org
- Check if people know about how issues work
- Decide GitHub rules
- Etiquette rules/Team agreement
- Don't commit directly to master
- Always squash commits
- Always have peer reviews
- 1 reviewer for issues
- 2 reviewers for Pull Requests
- License: MIT license
- Do PR reviews before coding to avoid blocking people
- Update Wiki
- LATER: create format standard for Wiki
- PR code changes must be covered by tests
- Document naming conventions
- Commit messages
- LATER: Document in wiki
- Squash merge all pull requests
- Treat everyone with respect. Absolutely no harassment, sexism, racism, or hate speech will be tolerated.
- Zero tolerance for any bullying and offensive/abusive language, know the difference between banter and toxicity.
- No NSFW or obscene content. This includes text, images, or links involving any form of graphically disturbing content.
- If you want to advertise anything, please ask for permission first.
- Be considerate when in voice channels and mute your mic when necessary.
- If you see something against the rules or something that makes you feel unsafe, let the moderators know. We want this server to be a welcoming space!
- Use React.js, Node.js (possibly Typescript)
- Goal: get basic functioning state MVP
- Split into groups once workload and project has been decided upon
- Agile workflow
- Whole group meetings once a week for sprint planning
- Tuesday 7pm - may be changed later
- Next meeting to decided on project Saturday 11am
- Everyone thinks of one project idea and puts it in the Discord channel
- Make google drive - Syon
- Find missing person
- Decide on name - Try think of one by next meeting - Make Poll
Date: 5/03/2022
Absent: Vanshika
Topic: Project Idea, Team Name finalisation, Sorting out Tasks/Teams
Minute taker: Seong
- When we choose a project, we should take into account a project that everyone could have the ability to work on
- Finalise project idea
- Go through ideas channel and vote for project ideas:
- Song Recommendation Service (Syon)
- Name remembering App (Jiaru)
- Wordle style App where you do simple daily tasks (Raina)
- Pokemon Bank Robbery Game (Jimmy/Darpan)
- Assignment Management App (Samuel)
- Gym goers meetup app (Adam)
- Uni student/Flat budget management app (Joel)
- Final Project Idea: Name Remembering App
- Finalise name: Forgettable
- Assignment 1 Due Date: 21 March 12:00AM (17 days)
- Set up a scope and get a proportion of the project done which will be picked up by the second group in the last half of the sem
- Get everything done by last Friday (18th March)
- Functionality brainstorming
- What is our MVP and what is our Nice to Haves
- Categorise “goal functionalities list” into must haves/nice to haves
- Tech Stack
- MERN stack
- Roles
- Frontend/Backend Roles
- People Learning MERN (for first few days)
- Set up initial project:
- Create React App
- Set up the CI/CD
- Tests
- ESLint/Prettier
- API Design
- DB Design
- Frontend Architecture
- Issues and Setup:
- Frontend, Backend and UI/UX teams get everything set-up and initial tickets written by Monday 7th March
Date: 6/03/2022
Topic: Initial DB Design and Setup
Minute taker: Seong
- Initial discussion about backend
- DB Design
- Creating user document
- Username and ID
- Array of ObjectIDs (of people encountered)
- Creating a document of users encountered
- User details (Company, Location, social media link, etc...)
- Create Initial Tickets
- Creating user document
Date: 7/03/2022
Topic: Initial ticket creation + Naming conventions
Minute taker: Syon
- Create tickets to handle:
- Mongoose Models/Schemas for:
- Users
- Persons
- Encounters
- API GET endpoints for:
- /persons
- /persons/:personID
- /encounters
- /encounters/:encounterID
- Mongoose Models/Schemas for:
- Discuss naming conventions for the API
- Discuss naming conventions for files
- Discuss which authentication solution to use
- All required tickets created
- The ‘people’ endpoints were renamed to ‘persons’
- All models should be named singularly, while endpoints are named as plurals
- The models/routes/controllers files will be named as follows
- example.model.ts
- example.route.ts
- example.controller.ts
- We will be using Firebase for authentication
Date: 5/03/2022
Notetaker: Jiaru
- UI Design decisions
- Homepage version
- Colour scheme
- CSS
- Architecture
- Pages
- Shared components
- Home page version
- The team decided that we will have separate pages for persons and encounters, + an additional dashboard page which shows the X most recent people and encounters, with a “view all” button to navigate to the other pages with
- Colour scheme
- Team voted on colour scheme and decided on Choice 1 (primarily yellow)
- CSS decision
- Team decided to use normal CSS modules
Assigned person will create issues for the respective component/page
- Pages
- Sign up (Jiaru)
- Sign in (Calvin)
- Dashboard (Cameron)
- Persons (plural) (Corban)
- Create/edit person (Darpan)
- Create encounter (Hazel)
- Person (Jiayou)
- Encounters list (Raina)
- Settings (Jiaru)
- Components
- Button (Calvin)
- Conditional icon
- Dynamic style
- Click handler
- Navbar (Cameron)
- PersonCard (Corban)
- Displayed on the persons page
- Avatar (Darpan)
- Dynamic style (size)
- Default image?
- Encounter card
- Full version (Hazel)
- Summary version (Jiayou)
- Modal pop up (Raina)
- Search bar (Jiaru)
- Input field (Calvin)
- Can just wrap library component, but with custom styling
- This is not a component, but we want a colors.ts file (Cameron)
- Button (Calvin)
For each page, the person making the page can create components as they see fit e.g. profile side bar can be a component
- Full encounter component now has a delete button instead of an edit button
- Communicate this to backend
- DELETE /encounters/:id kinda thing
- Everyone make issues for the above pages/components by Tuesday 8th Weekly meeting
Date: 03/08
Minutes: Jiaru (Mercury)
Absent: Joel
- Go through project scoping doc, has everyone created their issues?
- Raina finishing last ticket
- Go through Mon 7th frontend doc, has everyone created their issues?
- Yes
- Hazel: how is the CICD? is it done?
- Best time to set up is after basic structure
- Will push out with first ticket push
- What other tasks were there?
- CRA done
- How is UI design going?
- Almost done
- Looking amazing!
- Change weekly sprints to once-every-three-days sprints
- Subteams schedule bi-weekly sprints
- Component library? @UI
- Material UI
- Future issues approval process
- Backend
- Repo & lint setup done
- Need to get PR merged for service before any API is implemented
- Frontend this sprint plans to get all common components done
- Backend: what end points should we prioritise?
- Allocate frontend components... list of components in Mon 7th doc in frontend folder
- 9 components, one person each i guess not including Raina & Cameron
- Break down into easy medium hard
- New people can prob do easy ones - who are the new people
- Who has done React/has experience?
- Axios for api calls
- Yes
- Frontend testing
- Jest + Enzyme
- Assign yourselves to issues
- Easy components
- Button - Darpan
- Avatar - Corban
- Input field - Calvin
- Medium components
- Encounter card summary - Rushaan
- Modal pop up - Jiayou
- Search bar - Louis
- Nav bar - Hazel
- Encounter card full - Raina
- Person card - Jiaru
- Color + fonts file - Cameron
- Common components done by friday
- By tues: most page pages - there will be peripheral stuff
- By next fri: Wrap up final details
- Algolio - Autosuggest Lance
- Create/Delete Person
- Create/Delete Encounter
- Jest for testing
- Test data populated in mongodb (someone could probably do this sometime) Syon
- Encounter route (POST/GET) - Sherman, Syon, Hajin, Jimmy
- Person Route (POST/GET) - Seong, Hajin, Syon
- Algolia - Lance, Hajin
- Firebase Auth - Adam, Joel, Jimmy
- By friday: get POST/GET for Person/Encounter done, Algolio (indexing search & results) & Firebase Auth investigated on the side (hopefully create boilerplate for it in code)
- By tues: get user endpoints (auth) done, get PUT/DELETE done for Person/Encounter
- By friday: final details & optimise (esp pagination stuff)
- All
- Everyone add tags to the tickets you created
- Everyone add a reviewer to their ticket
- Pick anyone, doesn’t matter
- LGTM tickets that you were tagged in
- Add “approved” label to approved tickets
- Add initial to your tickets (what you made)
- Frontend
- Component issues as assigned above
- Assign yourself to the corresponding GH issue(s)
- Reviewed and merged by Friday
- Component issues as assigned above
- Backend
- Complete assigned tasks
Date: 11/03/2022
Notetaker: Hazel
Absent: Rushaan
- Around the room - what you did?
- Jiaru: Person card - done, merged, tested
- There’s also person card summary, done soon
- Calvin: Input
- Draft pull request
- Hopefully will work through it together today :)
- Cameron
- Refining theme
- Need to do contributing conduct etc.
- Early 2moro morning/technically tonight
- Corban: Avatar
- Had the avatar, but it wasnt needed so has been doing wiki stuff :)
- Haven’t put that into the repo yet
- Needs someone to check the contributing guidelines - Cameron will check this.
- After dinner.
- Darpan: Buttons
- Its just the text buttons right now
- Merged
- Hazel: navbar
- Merged
- Jiayou: Dialog (Pop up)
- Still having trouble, needs a bit of help. Will plan to sort that out :)
- Louis: Search Bar
- So fancy :0
- Wants to know what the functionality for the search bar should do
- User behaviour:
- On front page, result link to person. Autocompletion. Embed information into popup.
- But for no result, they cant press enter.
- On list pages (encounters and people) filter. No autocompletion.
- On front page, result link to person. Autocompletion. Embed information into popup.
- User behaviour:
- Raina: Working on encounter card full version
- About to be merged :)
- Rushaan: Working on summary encounter card
- Not here, but there are some style changes to be made before merging.
- ACTION: Ping, to find out when is he getting it done
- Jiaru: Person card - done, merged, tested
- Status of PRs
- How was this sprint, did we get everything done?
- What’s next?
- Issues for this sprint
- Who does what?
- Who needs help?
Work on pages
- Sign in (Darpan)
- Create encounter (Corban - but low pressure sing out if not working out)
- Settings (Jiayou)
- Create/edit person (Corban)
- People (Persons) (Cameron)
- Encounters list (Raina)
- Person (Jiaru)
- Dashboard (Hazel)
Whant DONE means:
- UI
- Logic/Endpoint calls
End of sprint: Tuesday
- Figure out who is working on your endpoint from the backend and harass them (gently)
- Dialog Popup Jiayou needs help
- Raina will help :)
- Calvin’s draft pr going up, will need a readover/help
- Pending merge
- Calvin
- Corban
- Catch up with Rushaan (figure out progress, needs help?)
- Hazel
- Assign yourself to relevant issues.
- Approve some issues that haven’t been approved.
- Testing
- Jest
- React testing library
- React testing renderer
Next meeting: Tuesday lecture time
- Hazel can't make it so will post update message instead :)
Date: 11/03/2022
Notetaker: Hajin
Absent:
- Progress for sprint 1
- A lot of background stuff (testing, repo, firebase, mongodb, models, project structure, api design)
- Api (no auth)
- POST /persons
- GET /persons (no query param)
- GET /persons (with query param)
- Tested, but might want to do Algolia
- GET /encounters (no query param)
-
Question to Frontend: (Adam will ask)
- What happens when first login happens to firebase? (get the workflow)
- When to create user
- Test, Auth
- Set milestones for sprint 2 (Before the meeting on TUESDAY 7pm)
- Main goal: Get all the endpoints working
- Authorisation token - Adam to update on testing this and provide working example for one of the routes
- To do for sprint 2: make all the endpoints are implemented as outlined
- Hardest one for authentication (probably) - Encounter with specific id - looking through get that encounter out of database, get current user from database, check that user has the id in its list of encounters.
- Prevent conflict: If you are working on one of the endpoints, make sure you write it in the description that you are working on it
- Testing - test should have a token. You can test services, models too.
- Requirements for PR
- Auth, basic functionality with manual testing (postman)
- Testing shouldn’t need to concern authentication for now
- Integration test only if we have authentication set up
- Discuss blockers/issues
- Figuring out how to do auth & test
- Everyone on all the endpoints. To be done (manually tested at least) by next week tuesday meeting
- Good to have: authorisation should be set up and tested for each routes (Jimmy and Adam will set up an example)
- To prevent conflict, write your name under description (https://docs.google.com/document/d/1MeariGED4lGISSpuRZGJEPHLWrbdB-767JPwCgzo4us/edit#)
Next meeting: Tuesday whole group meeting
Date: 15/03/2022 Minutes: Jiaru (Mercury) Absent: Joel, Lance, Cameron, Sherman
Around the room - updates since Friday
- Jiaru
- Person card small ver
- Person drawer
- Encounter drawer
- Person page UI
- Calvin
- Still working on Input
- Corban
- Create/edit person page - still working on it
- Maybe merge tonight?
- Darpan
- Sign in page
- All working now!!!
- Firebase Auth set up
- ./firebase-config.js in chat
- Hazel
- Dashboard!
- UI done
- Need logic and dialogue
- Need to figure out backend APIs
- Jiayou
- Settings page
- UI Done
- Don’t know how to call an API
- No delete account
- Need to implement logout
- Louis
- Adding no-autocopmlete to search bar
- Trying to figure out how backend works for this
- Raina
- Encounter details modal
- Helped Jiayou with his component
- Working on encounter page - almost done, need API calls and filters
- Refactored a thing into a component
- Need backend logic
- Rushaan
- Finished working on encounter card summary component
- Ready for the next task!
- Adam
- Set up firebase auth
- Updated API endpoints to be more inline with what is needed
- Encounter includes title
- Working on GET /users
- Hajinny :p
- Helping other people with middleware
- PUT /encounters/:id
- Jimmy
- Firebase auth
- Finished GET /encounters, but
- Requries query params for pagination and filtering
- Manually tested, need unit tests
- Extra service functions
- Samantha
- DELTE /encounters
- DELETE /persons
- Waiting for Sherman’s create encounters
- Need unit tests
- Samuel
- GET /encounters/:id
- Needs unit test
- Seong
- DELETE /encounters/:id
- DELETE /persons/:id
- Tested manually, create unit tests
- Syon
- GET /persons - done
- GET /persons/:id - done, no algolia yet, coming soon (™)
- POST /persons - PR up, has bug
- Joel
- PUT /persons
- Sherman
- POST /encounter
- POST /users
- Integration tests
- Has unit test (?) for firebase and services
- GET /users (Adam)
- Writing
- Done tonight
- POST /users (Sherman)
- Merged!
- PUT /users/:id
- GET /persons/:id (Syon)
- Merged!
- GET /persons (Syon)
- Merged!
- Pagination to come
- POST /persons (Syon)
- Under review
- Blocked by DELETE /persons
- Merged tonight!
- Under review
- PUT /persons/:id (Joel)
- Under review, has conflict
- Merged tonight!
- DELETE /persons:id (Seong)
- Under review
- GET /encounters/:id (Samuel)
- Under review
- Merged tonight!
- GET /enocunters (Jimmy)
- Merged!
- Need query params and unit tests
- POST /encounters/ (Sherman)
- Merged!
- PUT /encounters/:id (Hajin)
- Merged!
- DELETE /encounters/:id (Sam)
- Merged tonight!
- Dashboard (Hazel)
- Couple more UI things, then all done
- Ask Darpan about user name
- Need to GET encounters and persons
- CICD:
- Hajin shall do this!
- Person profile (Jiaru)
- UI done
- Need API calls
- Encounters list (Raina)
- UI Done
- Need API calls
- People list (Cameron) not here
- Doesn’t know how to do it (?)
- Was going to look at Raina’s and copy it XD
- Raina will take care of him
- Create/edit person (Corban)
- Working on social media logos
- Need API calls
- Need testing
- Create encounter (Corban)
- Have not started
- Rushaan shall do this :)
- Sign in (Darpan)
- All done, and merged!!!
- API call file
- Jiaru will do this
- Backend should be able to get all tests written and query param stuff done by Thurs
- Frontend will try to have things done by Thursday
- Hazel wants to talk to Darpan and Louis
- Joel and Adam will lead documentation. Jimmy and Darpan will help.
- Future issues
- Create a “future” tag
- wiki - contribution and
- other misc, readme,
- put up designs,
- APIs formalised,
- model designs
- Future issues
- There’s no video to make
- Jiaru
- Person page
- Maybe Calvin’s component
- Calvin
- Finish input, unblock Corban
- Corban
- Finishing create/edit person page
- Darpan
- Helping out on documentation
- Helping Hazel with Authentication
- Hazel
- Finish dashboard
- Jiayou
- Finishing settings page
- Louis
- Hazel will stick around for a conversation
- Lance
- Convo to happen after meeting
- Raina
- Finishing encounters list page
- Helping Cameron!
- Rushaan
- Starting/finishing create encounter page
- Adam
- Documentation
- Creating issues for date and full name thing, will do it as well :D
- Hajinny :p
- CI/CD (done)
- Testing
- Helping others if need
- Jimmy
- Query params (?)
- Unit tests
- Documentation
- Samantha
- Finish unit tests
- Samuel
- Finish unit tests
- Streaming merging process
- Seong
- Finishing unit tests
- Happy to help with other things
- Syon
- Resolving query params with Jimmy
- Unit tests as well
- Happy to help with docs or other things
- Joel
- Documentation
- Finishing PUT person/id
- Sherman
- Update unit tests
- Help with pagination and other things!
Date: 17/03/2022
Notetaker: Hazel
Absent:
- Jiaru
- Person page (API calls done, needing tests and update from backend for single person encounters)
- Embedded encounters - ETA needs to be tested.
- Person endpoint needs to be merged, and then unit test on top of that.
- Should be done after this meeting, not long away.
- Person page (API calls done, needing tests and update from backend for single person encounters)
- Calvin
- Finish input, unblock Corban (Done, merged)
- Cameron
- People/Persons list page (Need to add API calls, page layout/design merged into main)
- Corban
- Finishing create/edit person page (Done - waiting on input component to be merged, maybe add more tests)
- Now input is merged, page to be updated
- Darpan
- Helping out on documentation
- Helping Hazel with Authentication (Done)
- Hazel
- Finish dashboard (In progress)
- All the UI done and merged
- Just checking data stuff now
- Finish dashboard (In progress)
- Jiayou
- Finishing settings page (Done, 2 approved)
- Bit more work to be done, Raina is adding comments to PR
- Finishing settings page (Done, 2 approved)
- Louis
- Hazel will stick around for a conversation (Done and merged)
- Conversation to happen after meeting
- Raina
- Finishing encounters list page (Retrieve encounters API calls done, need to add search API calls and link to create new encounter page)
- Helping Cameron
- Rushaan
- Starting/finishing create encounter page (Finished the UI, haven’t made API calls to create the encounter, waiting on review changes before merging)
- Adam
- Documentation
- Creating issues for date and full name thing, will do it as well (Merged)
- Hajin
- CI/CD (Done) (PR raised) (Not merged)
- Testing for updating encounter (Done) (PR raised) (Not merged)
- Someone to look at this please
- Helping others if needed (Haven’t really been but feel free to ask!)
- Jimmy
- Query params (Merged)
- Unit tests (Almost done)
- Documentation (To be done)
- Samantha
- Finishing unit tests for persons/encounter (In progress)
- Samuel
- Finish unit tests (In progress)
- Potentially outdated
- Making a PR
- To talk about after meeting
- Streaming merging process
- Finish unit tests (In progress)
- Seong
- Fixing encounter/persons endpoint bugs (Done/merged)
- Finishing unit tests (In progress)
- Syon
- Resolving query params with Jimmy (Done/merged)
- Unit tests (Need to do)
- GET persons/
- POST persons/
- Empty encounters/persons returns empty array (Done/merged)
- Joel
- Documentation (Need to do)
- Finishing PUT person/id (PR merged, needs more unit tests)
- Sherman
- Update unit tests (Done)
- Help with pagination and other things (In review)
- For every endpoint? Sort of a middleware.
- Lance
- Algolia integration with persons (Done - pull request needs to be reviewed)
- Algolia integration with encounters (Not done yet, I heard get encounters got merged so I will do it now)
- Algolia sync on update and on delete (Not done yet, will do it when update and delete endpoints are done - will work on it now)
- Delete endpoints (Done)
- Update endpoints (Done)
Hazel to push "create user on login" after some debugging
- Documentation
- Need front end README (Darpan)
- Darpan in progress with this
- Need front end README (Darpan)
- Update back end README to include new env stuff and service account stuff. (Joel)
- Update the main README (Calvin)
- With description/reasoning behind app
- Wiki
- Contributions (everyone)
- Google Docs first, then transferred to Wiki
- Endpoints (Syon, Hajin, Joel, Jimmy)
- Model designs (data) (Joel, Jimmy)
- Design UI (Darpan)
- Link to Figma
- Link to UI folder
- A note to say designs have changed a bit
- Meeting minutes(Calvin)
- Contributions (everyone)
- Issues for future work (Louis)
- Taken from tech debt (chore tasks included)
- Taken from our brainstorming session
- Volunteers:
- Joel
- Jiaru
- Raina
- Adam
- Jimmy
- Fallback: Hajin, Rushaan
- To be sorted on Sunday 20 March
- To be completed once development has slowed/finished
- Convert Front End Suite to JavaScript
- Dark mode colour references to be edited for each page.
- Jiaru
- Finish Person page (Needing tests and update from backend for single person encounters)
- Embedded encounters - ETA needs to be tested.
- Person endpoint needs to be merged, and then unit test on top of that.
- Should be done after this meeting, not long away.
- Embedded encounters - ETA needs to be tested.
- Finish Person page (Needing tests and update from backend for single person encounters)
- Cameron
- Finish People/Persons list page, Need to add API calls.
- Corban
- Finishing create/edit person page
- API calls to be tested [need help?]
- Now input is merged to be updated to include component
- Finishing create/edit person page
- Hazel
- Finish dashboard (In progress)
- All the UI done and merged
- Just checking data stuff now
- Testing Auth flow
- Finish dashboard (In progress)
- Jiayou
- Finishing settings page (Done, 2 approved)
- Bit more work to be done, Raina is adding comments to PR
- Finishing settings page (Done, 2 approved)
- Raina
- Finishing encounters list page (Retrieve encounters API calls done, need to add search API calls and link to create new encounter page)
- Rushaan
- Starting/finishing create encounter page (Finished the UI, haven’t made API calls to create the encounter, waiting on review changes before merging)
- Adam
- Updating that endpoint - discussed in meeting.
- Hajin
- Waiting for PR review: Testing for updating encounter (Done) (PR raised) (Not merged)
- Someone to look at this please
- Waiting for PR review: Testing for updating encounter (Done) (PR raised) (Not merged)
- Jimmy
- Unit tests (Almost done)
- Potentially updating endpoint - discussed in meeting.
- Samantha
- Finishing unit tests for persons/encounter (In progress)
- Samuel
- Finish unit tests (In progress)
- Potentially outdated
- Making a PR
- To talk about after meeting
- Finish unit tests (In progress)
- Seong
- Finishing unit tests (In progress)
- Syon
- Unit tests (Need to do)
- GET persons/
- POST persons/
- Unit tests (Need to do)
- Joel
- Finishing PUT person/id (Needs more unit tests)
- Sherman
- Help with pagination and other things (In review)
- For every endpoint? Sort of a middleware.
- Help with pagination and other things (In review)
- Lance
- Algolia integration with persons (Done - pull request needs to be reviewed)
- Algolia integration with encounters (Not done yet, I heard get encounters got merged so I will do it now) - PR made
- Algolia sync on update and on delete (Not done yet, will do it when update and delete endpoints are done - will work on it now) - PR made
- Add all instructors/TA’s (Darpan)
- James: jtiz003
- Adam: dagea
- Luman: lwan353
- Figure out how to embed encounters in a person (Adam + TBD)
- After meeting: backend person who did util for adding an encounter to talk to Adam.
- Route create: /encounter/create (Rushaan)
- Create Contributions table Google Doc (Hazel)
- Presentation group to figure out when they are meeting on Sunday 20 March
- Joel to do presentation stuff
- Documentation tasks to be completed by assigned people (See "Documentation with assignments" section)
- Once you are finished with your individual task, talk to Louis about where you can help with the issues write up.
- On Friday before 7pm please post an update about where you are at.
- Flag any discussions you need to have or issues you have encountered.
- Give an ETA to when your task will be finished.
The Basics:
The Team:
The Frontend:
The Backend: