My GSoC’22 organisation was **CCExtractor** and the project I worked on was Beacon-Backend (Github repo). My mentors were Aadi Bajpai and Carlos Fernandez.
As soon I was accepted for GSoC, the community bonding period started. I started interacting with my mentor. We discussed and set various project milestones, pondered over how we were going to implement the required features. We decided that we’ll update the backend before the mid evaluation and complete all the cloud related deployment stuff before the final evaluation.
I setup the codebase and was pretty excited to get my hands dirty since this was my first GraphQL project and had not worked with AWS before.
…and fixing some small bugs.
Pull requests involved:
Details of the work:
This helped/will help us deploy the code later, because now any further change to codebase wont have to be duplicated for the two different branches.
<aside> 💡 Issue that tracked the progress.
</aside>
This task involved making new models, updating schema and resolvers. New Group model was added and the beacon model was made a sub-collection of this group model. Straightforward query and mutations to read and write to group model. New subscription “GroupJoined” was added to provide real-time updates about new joiners of the group.
grpID = id of the group the beacon belongs to
.changeLeader()
mutation.groups = [ids of all the groups the user is a part of]
.createAGroup()
, fairly straightforward, creating a new group with all the fields and saving it in the DB.joinAGroup(shortcode)
, Add the new member to all the beacons in the group, also use pubsub to publish this change.me
query.createBeacon()
and joinBeacon()
mutations.This finished adding support for the new feature of groups, which was the target for the mid-evaluation. After some manual testing, we moved to deployment, so the frontend team can actually test it in the app itself.