Skip to content

GSoC 2020 Maya Treacy

Maya Treacy edited this page Jul 17, 2020 · 46 revisions

Maya Treacy

I will be working on backend and frontend of Bridge-In-Tech application. My mentors are Foong Min Wong, Ramit Sawhney, Meenakshi Dhanani, and Isabel Costa. Isabel is also the project manager of this project.

Work Hours

Days Hours (AEST = UTC+10) Meetings Tools
Monday 08:00AM - 04:00PM Scrum Check-in (08:00AM) Zulip
Tuesday 08:00AM - 04:00PM ---- Zulip
Wednesday 08:00AM - 04:00PM Scrum Check-In (08:00AM), Weekly BIT Project Meeting (11:00PM) Zulip, Hangout
Thursday 08:00AM - 04:00PM ---- Zulip
Friday 08:00AM - 04:00PM Scrum Check-In (08:00AM) Zulip, Hangout
Saturday 08:00AM - 04:00PM Weekly GSoC Happy Hour (12:30AM), Weekly 1:1 with Isabel (08:00PM), Weekly 1:1 with Meenakshi (10:30PM) Zulip, Hangout
Sunday 08:00AM - 04:00PM Weekly 2:1 Meeting with Foong and Ramit (11:00PM) Zulip, Hangout

Short Bio

I'm a final year student of Master of Information Technology at Monash University, Melbourne, Australia. I'm a newcomer to the IT field with previous experiences in Accounting and Teaching fields. My interests are on Web and mobile applications as well as Internet of things. My hobbies are listening to music, watching action movies and recently found a new hobby: contributing to open source projects ;).

Profile links

Gmail | Intro to GSoC - A Medium Blog | Github | LinkedIn | My Resume | GSoC2020 Proposal Link

(The next section is going to be updated weekly)

Weekly Status Report for Week 11, ending Friday, Jul 17th.

What have you accomplished this week (list specific items accomplished)?

  1. Worked on and pushed PR#37 frontend for creating navbar submenu task
  2. Worked on and pushed PR#38 frontend for View personal details functionality
  3. Worked on issue#76 backend for POST/GET /user/additional_info functionality
  4. Attended 1:1 with Isabel and Meena as well as BIT weekly meeting
  5. Worked on and pushed PR#77 backend for POST and GET /user/additional_info functionality
  6. Posted Week 6 Medium Blog
  7. Worked on and pushed PR#79 backend for test cases for POST and GET /user/additional_info functionality
  8. Resolve merge conflicts on open PRs backend and frontend
  9. Worked on issue#667 and pushed PR#668 Mentorship System backend to support MS - BIT integration with target architecture 2 REST APIs and 1 database
  10. Worked on and pushed PR#81 backend for PUT /user/additional_info api endpoints and test cases
  11. Worked on and pushed PR#83 backend for POST and GET /user/personal_background api endpoints
  12. Worked on and pushed PR#85 backend, the test cases for POST and GET /user/personal_background api endpoints
  13. Worked on and pushed PR#87 backend for PUT /user/personal_background api endpoint and tests
  14. Worked on and pushed PR#40 frontend for Viewing user’s Additional Information page

What issues or roadblocks have you encountered this week?

None

Have they been resolved, and if so, how?

NA

Is further assistance necessary to resolve existing issues?

NA

What do you plan to accomplish next week?

  • Complete User Profile backend and frontend (POST/GET/PUT/DELETE /user/personal_details, /user/additional_information, /user/personal_background api enpoint, UI, and their tests cases)

How does your progress compare to your project schedule?

  • OK

Blog post for Week 10: eta Monday, Jul 19th

Weekly Status Report for Week 10, ending Friday, Jul 10th.

What have you accomplished this week (list specific items accomplished)?

  1. Posted Medium blog week 5
  2. Updated Wiki report week 5
  3. Troubleshoot alternative solution for protected page with Meena Mentor
  4. Attended few catch up sessions with Meena mentor, 1:1 with Isabel, Meena and BIT weekly meeting
  5. Created issue #72 GET/user/personal_details as sub-issue of issue #63 GET /user profile and Updated PR#71 backend to GET /user/personal_details api endpoint and test cases
  6. Reviewed and merged alternative solution for protected page by Meena mentor and pulled it onto main PR’s branch (PR#34) frontend
  7. Created backend issue #73 Update personal details as sub-issue of issue #62 Update user profile and pushed PR#74
  8. Deployed Heroku BIT and MS server so the app can be tested without running server locally

What issues or roadblocks have you encountered this week?

None

Have they been resolved, and if so, how?

NA

Is further assistance necessary to resolve existing issues?

NA

What do you plan to accomplish next week?

  • Complete the remaining of User Profile backend and frontend (DELETE /user/personal_details, /user/additional_information, /user/personal_background api enpoint, UI, and their tests cases)

How does your progress compare to your project schedule?

  • OK

Blog post for Week 10: Week 6 Medium Blog

Weekly Status Report for Week 9, ending Friday, Jul 3rd.

What have you accomplished this week (list specific items accomplished)?

  1. Split Medium blog post Week 3 into 2
  2. Attended 1:1 meeting with Isabel and office hour, Foong office hour, 3:1 meeting with Mentors, BIT Weekly meeting
  3. Successfully troubleshoot bug on PR#67 and pushed the changes
  4. Maintained and synced integrity of git histories across 4 interdependent backend PRs (#59, #60, #65, #67)
  5. Posted week 4 medium blog
  6. Learned about persisting token in localStorage vs cookies, protected page, create and use React Context, withRouter React (and more...)
  7. Participated in discussion on CORS Allow-Control-Allow-Origin wildcard PR#645 Mentorship System backend
  8. Completed frontend protected page, storing logged-in user details using cookies, toggle Register-Login/Logout Navbar, pushed code changes to PR#34 frontend and responded to mentor's feedback.

What issues or roadblocks have you encountered this week?

  • Finding resources that matches the project needs. Too many things to learn at once but was not sure where to start from.

Have they been resolved, and if so, how?

  • Yes, by breaking down task to mini tasks and approached them systematically one step at a time.

Is further assistance necessary to resolve existing issues?

  • Nope.

What do you plan to accomplish next week?

  • Move on to the next task, User's profile functionality

How does your progress compare to your project schedule?

  • Not too bad

Blog post for Week 9: Week 5 Medium Blog

Weekly Status Report for Week 8, ending Friday, June 26th.

What have you accomplished this week (list specific items accomplished)?

  1. Completed Register UI Mocking API tests PR#24 and responded to mentor's feedback
  2. Completed Login frontend UI and test cases (PR#26) and responded to mentor's feedback
  3. Completed Login backend PR#60 and responded to mentors' feedback
  4. Successfully resolved Travis CI backend failed build related to postgresql with the help of Meena mentor
  5. Modified PR#59 Register test cases as per mentors' feedback
  6. Attended Meena’s office hour and catch-up sessions, 1:1 meeting with Isabel, 1:1 meeting with Meena, BIT weekly meeting.
  7. Pushed namedtuple decorator PR#65 and modified register tests.
  8. Pushed WIP PR#67 User Login API test cases.

What issues or roadblocks have you encountered this week?

  • Masking http response errors from MS API
  • Learning protected page and persistence JWT token on React frontend

Have they been resolved, and if so, how?

  • Masking some Http error code from MS API - gradually. Some PRs got approved and merged, some still outstanding.

Is further assistance necessary to resolve existing issues?

  • Not at the moment

What do you plan to accomplish next week?

  • Protected pages and persistence JWT on React UI
  • GET /user API endpoint backend

How does your progress compare to your project schedule?

  • Better then last week

Blog post for Week 8: Week 4 Medium blog

Weekly Status Report for Week 7, ending Friday, June 19th.

What have you accomplished this week (list specific items accomplished)?

  1. attended 1:1 meeting with Isabel, 1:1 meeting with Meena, 1:1 with Foong, 3:1 meeting with mentors, BIT weekly meeting and dropped by at Isabel’s office hour.
  2. CompletedPR#18 Register UI and functionality, also closed/replaced PR#15
  3. Updated BIT Backend Development Setup Instructions WIKI and posted on Zulip
  4. Opened First timers only issues on BIT backend:
    • issue#53 add missing images to BIT backend Dev Env setup instructions wiki
    • issue#55 add link to BIT Backend Dev Env Setup Instructions Wiki inside README.md
  5. Posted Week 2 GSoC journey on Medium
  6. Started learning React testing library to help write test cases for Register UI.
  7. Reviewed PR#16 BIT frontend on removing .vscode from BIT repo
  8. Pushed PR#22 frontend on travis ci
  9. Opened issue#20 frontend and start working on Register UI test cases
  10. Opened issue#54 and completed PR#59 backend for Register user test cases
  11. Opened issue#57 and pushed PR#58 to add BIT backend setup env .md into .github folder
  12. Reviewed PR#56 backend on adding link to Wiki BIT setup instructions on README
  13. Reviewed PR#645 Mentorship System backend on CORS related issue
  14. Troubleshoot Travis-build related to postgres second schema

What issues or roadblocks have you encountered this week?

  • Troubleshoot Travis build caused by second schema bitschema in postgre database
  • Learning Mocking API call using unittest.mock for the first time

Have they been resolved, and if so, how?

  • Mocking API is solved. PR#59 submitted
  • Travis fail build is wip.

Do any of the issues or roadblocks still exist and what steps have been taken to resolve them?

  • I have discussed and applied potential solution advised by Ramit mentor which were adding environment credentials to travis environment and adding set search_path to... command to travis script, but still unable to resolve the issue.

Is further assistance necessary to resolve existing issues?

  • Need mentor to help with alternative troubleshoot or approval to change database structure from having 2 different schemas (BIT - bitschema and MS - public schema) to just using one schema for BIT and MS which is public schema.

What do you plan to accomplish next week?

  • Login background and UI functionality with API consumption.

How does your progress compare to your project schedule?

  • still catching up

Blog post for Week 7: Week 3 Medium Blog

Weekly Status Report for Week 6, ending Friday, June 12th.

What have you accomplished this week (list specific items accomplished)?

  1. combined tasks for issue#19 (that is now closed) into issue#24 as suggested by Isabel
  2. wrote test cases for basic setup and add travis config file (PR#26)
  3. added pylint and pylint-flask as dependencies and .pylintrc for linting test code quality (PR#26)
  4. attended 1:1 meeting with Isabel, 1:1 meeting with Meena, 3:1 meeting with mentors, Student onboarding session, BIT weekly meeting and catch-up session with Meena.
  5. fix bug POST /register error handling on BIT side (PR#26)
  6. pushed updates (wip) on Register UI PR#15. Have achieved the followings:
  • form fields look and feel/interaction plus client-side validation (matched to MS backend server validation)
  • Refactored form from withFormik() to useFormikContext() as requested by Meena
  • Troubleshoot CORS issue when sending POST/register request running all servers locally and shared the fix with others on Zulip
  • successfully registered new user through BIT API using only needed data on UI Register form using Formik (useFormikContext) and Yup libraries.
  1. helped mentors setting up and troubleshoot backend dev environment (started on zulip)
  2. participated in discussion on db design (zulip)
  3. Helped Meena Mentor locate new user on MS database on Catch-up session
  4. Reviewed and shared feedback on the need for issue#714 mentorship-android as requested by contributor (Priyansh Kedia).
  5. Worked on refactoring code base to not use Formik and Yup libraries.
  6. Participated in discussion on Heroku pipeline in MS production

What issues or roadblocks have you encountered this week?

  1. Always trying different approaches on React (Class vs functional components, React hooks, libraries vs no libraries, etc). Need to find the one fit for the project

Have they been resolved, and if so, how?

  1. No. Still looking for relevant links that can help with the required tasks (sending partial data as payload for Http API request and error handlings with react hook/functional components without using any other libraries)

Do any of the issues or roadblocks still exist and what steps have been taken to resolve them?

  1. As mentioned above. Steps taken so far: Successfully register new user using the workaround:
  • using libraries (Formik and Yup)
  • placing only needed attributes on UI form

Is further assistance necessary to resolve existing issues?

  1. Mentors support on finding relevant guidelines to the required task

What do you plan to accomplish next week?

  1. Sending partial data as payload so UI can have extra required features (toggle password visibility, confirm password field and Both radio button) without adding them to payload.
  2. refactor code base to not use any libraries as suggested by Meena mentor
  3. deal with error handling to show responses to user on UI.
  4. Login functionality (backend and frontend)

How does your progress compare to your project schedule?

Not looking good

Blog post for Week 6: Week 2 blog

Weekly Status Report for Week 5, ending Friday, June 5th.

What have you accomplished this week (list specific items accomplished)?

  1. Posted daily zulip and tri-weekly scrum checkins
  2. Updated issue#11 by adding Mentorship_Relations service
  3. Attended 2:1 meeting with Foong and Ramit, May 31st, BIT weekly meeting, Jun 3rd
  4. Discussed rules for password validation on zulip and mentorship android issue#710
  5. Completed issue#24 and have achieved the followings:
  • Added necessary files for dao, models and resources for Users Registration.
  • Successfully registered user from BIT backend to MS API using Postman and BIT Swagger UI.
  • Added Travis CI and test cases for basic setups
  1. Updated wiki with Weekly report week 4
  2. Completed PR#10 (on issue#9) on Frontend Setup
  3. Modified REST API endpoints and errors handling and created issues #623-#636 on mentorship-backend repo to report bug http error response codes.
  4. Created and helped contributor on PR#620
  5. helped Meena mentor troubleshoot Zenhub Epics issue
  6. created 2 Epics for Backend Dev Setup and Frontend Dev Setup and place it of roadmap
  7. updated Technical Discussion and Proposal Review docs with new technical issues and removed duplicates

What issues or roadblocks have you encountered this week?

  1. Unclear requirement on test cases and Travis CI

Have they been resolved, and if so, how?

  1. Yes, through discussions with mentors

Do any of the issues or roadblocks still exist and what steps have been taken to resolve them?

  1. Creating test database on Travis build with multiple schema

Is further assistance necessary to resolve existing issues?

  1. Mentors approval on PR#26 backend.
  2. Support/guidance on how to create multiple schema during travis build or using 3rd party tools

What do you plan to accomplish next week?

  1. Login functionality (backend and frontend)

How does your progress compare to your project schedule?

Slightly behind but catching up

Blog post for Week 5: Week 1 Blog

Weekly Status Report for Week Week 4, ending Monday, June 1st

What have you accomplished this week (list specific items accomplished)?

  1. Posted daily Zulip checkins: May 26th, 27th, 28th, 29th, 30th, 31st, June 1st
  2. Worked on High-fidelity mockups: Homepage, User Profile, Organization Profile and their potential reusable components
  3. Participated in discussion on PR#687 mentorship-android, issue#710 & zulip
  4. Attended weekly meeting: BIT - May 27th, 1:1 with Isabel - May 30th, 1:1 with Meena, 2:1 with Foong and Ramit - May 31st
  5. Worked on API endpoints and error handling for Users, Organizations, Programs and Mentorship Relations services
  6. Worked on PR#25 - creating and populating db schemas
  7. Updated Project Requirements

What issues or roadblocks have you encountered this week?

Nothing

Have they been resolved, and if so, how?

N/A

Do any of the issues or roadblocks still exist and what steps have been taken to resolve them?

N/A

Is further assistance necessary to resolve existing issues?

N/A

What do you plan to accomplish next week?

  1. Register functionality (backend and frontend)

How does your progress compare to your project schedule?

Ok

Blog post for Week 4: NA

Weekly Status Report for Week 3, ending Monday, May 25th

What have you accomplished this week (list specific items accomplished)?

  1. Posted daily Zulip checkins: May 19th, 20th, 21st, 22nd, 23rd, 24th, 25th
  2. Attended Isabel’s office hour, Tue, May 19th
  3. Created test-schema branch on forked repo and posted update on issue#19
  4. Helped QA with testing on datetime.utcnow() issue#556 mentorship-backend
  5. Attended BIT Team Weekly Meeting May 20th AEST
  6. Updated issue#10 on App Flow and issue#13 on Entity Association Model as per discussion on BIT Team Weekly meeting above
  7. Started test-alembic branch on forked repo bridge-in-tech-backend to support flask migration
  8. Participated in Zulip discussion on PR review workflow
  9. Participated in Zulip discussion on PR needs testing
  10. Attended 1:1 Meeting with Isabel, Saturday, May 23rd AEST
  11. Attended 2:1 meeting with Foong and Ramit, May 24th AEST
  12. Tested Project architecture for bit schema with options on 2APIs+2DBs and 2APIs and 1DB (posted update on issue#19)
  13. Created flask-migration alembic script (posted on issue#19)
  14. Updated Register (issue#2) and Login (issue#3) mockups on bridge-in-tech-web repo

What issues or roadblocks have you encountered this week?

  • Setting up backup workstation on Windows facing issues because of Windows 10 update (version 1903). It kills the audio (speaker/mic) and ethernet network adapter. Currently put on hold until a more steady version comes out.

Have they been resolved, and if so, how?

  • Not applicable. Status: On hold

Do any of the issues or roadblocks still exist and what steps have been taken to resolve them?

  • Mentorship System schema needs to be updated to accommodate BridgeInTech schema to achieve project architecture 2 APIs (MS + BIT APIs) with 1 database (postgresql).

Is further assistance necessary to resolve existing issues?

  • on going discussion with mentors to decide the direction of the project architecture, plus support to handle database migration from Mentorship System side.

What do you plan to accomplish next week?

  • Start backend dev

How does your progress compare to your project schedule?

  • This week need to finalize MVP, project requirements and prototype for front end; API endpoints (including errors handling) and project architecture (including database migration) for backend. 🤔 🤔 🤔

Blog post for Week 3: Not Applicable

Weekly Status Report for Week 2, ending Monday, May 18th

What have you accomplished this week (list specific items accomplished)?

  1. Posted daily Zulip checkins: May 12th, 13th, 14th, 15th, 16th, 17th, 18th
  2. Created Epics for Coding Phases: First, Second, Final Coding Phases
  3. Created and pushed test-dev1 on existing Mentorship System code to test idea on ERD issue#12
  4. Attended Isabel’s Office Hour, Tue, 12th
  5. Attended BridgeInTech Team weekly meeting, Wed, 13th AEST, with mentors
  6. Worked on issue#10 (App Flow) with option 5 as the latest update
  7. Updated ERD and responded to mentors questions on issue#12 as discussed in the meeting above
  8. Created high-fidelity mockup for Register page issue#2 bridge-in-tech-web
  9. Helped troubleshoot Android/Flutter Travis-build apks on Zulip #mentorship-system > Android
  10. Attended Happy Hour Sat, 16th
  11. Drafted and Posted API endpoints and CRUD operation draft on issue#15 bridge-in-tech-backend to get mentors' feedback.
  12. Created test-schema branch on forked repo bridge-in-tech-backend and started working on db models and flask server
  13. Attended 1:1 meeting with Isabel, May 16th AEST
  14. Attended Weekly Team Building, May 16th AEST
  15. Helped QA tester with test steps to test PR#556 on Zulip
  16. Attended 2:1 meeting with Foong and Ramit, May 17th AEST
  17. Set up working environment on Windows machine with Foong’s help on her office hour May 17th AEST because Macbook screen had crashed
  18. Posted suggestions on Zulip on OS Team workflow between Coding and QA teams

What issues or roadblocks have you encountered this week?

  • My Macbook screen crashed on May 17th morning

Have they been resolved, and if so, how?

  • Yes, dropped it at service center with estimated service time 5 business days

Do any of the issues or roadblocks still exist and what steps have been taken to resolve them?

  • Yes as per May 18th. Use Windows laptop as backup workstation

Is further assistance necessary to resolve existing issues?

What do you plan to accomplish next week?

How does your progress compare to your project schedule?

Only one week left to finalize project and backend overviews before moving to frontend overview.... Not looking good? 🤔

Blog post for Week 2: Not Applicable

Weekly Status Report for Week 1, ending Monday, May 11th

What have you accomplished this week (list specific items accomplished)?

  1. Completed Wiki student profile page for anitab-org/bridge-in-tech-backend
  2. Started and added the followings to wiki sidebar and content:
  3. Created and shared link to Intro to Google Summer of Code 2020 with AnitaB.org Open Source
  4. Reflected on the initial proposal. Noted some potential changes to the proposal in the Technical Discussions doc
  5. 1:1 with Isabel on Thursday, May 7th AEST
  6. Pushed test-dev to remote repo at https://github.com/mtreacy002/mentorship-backend to test multiple schemas and db migrations
  7. Completed and added to wiki BIT MS-test-dev setup instructions
  8. Version Control - Repository (got write access) and Zenhub setup
  9. Created Weekly Report Template
  10. Created Weekly Scrum Progress Template
  11. Helped a new contributor to troubleshoot bridge-in-tech-backend PR#2.
  12. 1:1 with Isabel, Saturday, May 9th AEST
  13. Posted Zulip checkins: May 9th(1st), 10th, 11th
  14. Set a new target for finalising Tech stack, App flow & architecture, and MVP. Not feasible to do them within one week. New target 2-3 weeks.
  15. Created 3 Epics (Project, Backend and Frontend Overviews) on Zenhub to track discussions on proposal review
  16. Participated in Mentorship Flutter DevEnv Setup session, May 10th AEST
  17. Created issue#7 and issue#8 for Project Overview epic.
  18. 2:1 meeting with Ramit and Foong, May 10th AEST
  19. Created issue#9, issue#10, issue#11 for Project Overview epic.
  20. Created issue#12, issue#13, issue#14, for Backend Overview epic.
  21. Updated Wiki Weekly report with Week 1 Report
  22. Continued supporting the new contributor and helped her finalized issue on PR#2.
  23. Reviewed PR#3
  24. Started working on issue#12 Planning: ERD - Backend Overview

What issues or roadblocks have you encountered this week?

Getting familiar with routines (scrum checkins, daily zulip checkins) and repository wiki.

Have they been resolved, and if so, how?

Yes, by asking for advice from mentors and observing other's (May admin's) checkins

Do any of the issues or roadblocks still exist and what steps have been taken to resolve them?

Trialling BIT+MS schemas without MS alteration only can be done after issue#10 is finalized or at least drafted

Is further assistance necessary to resolve existing issues?

Ongoing discussions and getting advice from mentors.

What do you plan to accomplish next week?

  • Keep updating wiki with necessary pages
  • attend scheduled meetings
  • post daily Zulip checkins
  • revisit (review) proposal on tech stack, app flow and architecture, project requirements
  • Set Zenhub as Project Management Board

How does your progress compare to your project schedule?

I've made some adjustment to project schedule on the proposal as explained in the blocker section above.

Blog post for Week 1 Intro post:


Weekly Report Templates

Weekly Status Report for Week X

What have you accomplished this week (list specific items accomplished)?

What issues or roadblocks have you encountered this week?

Have they been resolved, and if so, how?

Do any of the issues or roadblocks still exist and what steps have been taken to resolve them?

Is further assistance necessary to resolve existing issues?

What do you plan to accomplish next week?

How does your progress compare to your project schedule?

Blog post for Week 1: (tba)

Clone this wiki locally