Building @ FOSS Overflow
by Navya Agarwal — 18/1/2023
👋 Hola!
I am Navya Agarwal, a 2nd year CS student at IGDTUW. I started contributing to projects at FOSS Overflow as soon as I learnt about their upcoming cohort and got selected as a mentee in December!
💻 My Work
Throughout the past month, I juggled two projects "not-a-mess" and "insti-pay". The tech stack that I worked on for both was totally different and I had never used it prior, but with the help of some super amazing mentors and fellow mentees, I made it through!
🍛 not-a-mess
It is an app where students can rate mess food and raise any complaints/suggestions. The mess management has a curated dashboard on their end that helps them understand what the students like and dislike, and thus accordingly plan their meals.
In the initial phase, I designed the entire UI of the project using Figma, and in the process I also outlined the core functionality and architecture of the project.
Later on, I worked mainly on the backend, creating RESTful APIs using NodeJS, ExpressJS and MongoDB.
I created the schema and routes (get all, get by id, put, patch, delete, get by specific date ranges) for the following:
- Users (name, email, if management)
- Ratings (date, user_id, food_id, stars, tags)
- Food items (name, ingredients)
- Mess Menu (day, meal_time, list_food_items)
I also learnt to test all these routes using Postman.
💸 insti-pay
This app envisions a simple system of points for every day transactions within a college campus. Every user shall be able to load some amount of money to their account which is linked to their ID card.
Prior to this program I had absolutely no idea about Flutter or Supabase used to build this app, I had never even run Android Studio & emulator on my computer.
However, during the past one month I equipped myself with a working knowledge of both and built these features for the app:
- reset password functionality
- user profile + image avatar functionality
Some very interesting things I used in this project are Magic Links from Supabase to send the reset password link to user and image_picker package for Flutter to upload profile image from the phone camera or gallery.
📈 my ~ GROWTH ~ over the past month
It is really hard to believe that I have come this far in just one month. But to put some of these accomplishments in a tangible list -
Technical skills:
- Learnt about node.js, express.js, mongodb from zero to the point where I can write RESTful APIs using them
- Worked on the backend programming for a project for the first time
- Learnt how to build screens in Flutter
- Learnt how to create forms in flutter, used packages like image_picker
- Used supabase for creating backend for Flutter app
- Learnt about MVC architecture and good code writing practices
Apart from all the technical skills, I also learnt a lot about resolving small but very annoying and persistent technical issues using ✨Stack Overflow✨.
Another small but very meaningful accomplishment to me is that now I use Github and git so much more comfortably, you can wake me up in the middle of the night and I can go through the entire process of forking, cloning, pulling, adding, commiting, pushing without a hiccup!
🎀 It's a wrap
There is so much more I wanted to do in these projects apart from all that I did in the given duration. Even though the program is officially over, I think I would continue contributing to these projects and maybe come back to FOSS Overflow next year as well!
Overall, it's been a huge learning experience and a chance to connect and collaborate with some amazing people -> Apoorv Garg, Riya Dhiman, Hriday Agrawal, Achintya Pandey and Ananya Hooda.
Cheers!