Building @ FOSS Overflow

by Navya Agarwal18/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.

Figma UI for not-a-mess

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:

  1. Users (name, email, if management)
  2. Ratings (date, user_id, food_id, stars, tags)
  3. Food items (name, ingredients)
  4. Mess Menu (day, meal_time, list_food_items)

I also learnt to test all these routes using Postman.

API testing for not-a-mess 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:

  1. reset password functionality

App screen for reset password

  1. user profile + image avatar functionality

App screen to add user profile data

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.