Welcome to the Winrock International/Hack4Impact-UMD repository! This is where we will be committing all our code throughout the semester. Please make sure to go through the table of contents and complete the project set up. Also note that PR Instructions is MANDATORY to read through - we need all engineers to follow this to ensure efficient code review. As always, please let us know if you have any questions!
https://hack4impact-umd.github.io/winrock-international/
1οΈβ£ Meet the Team
2οΈβ£ Project Set Up
3οΈβ£ System Design
4οΈβ£ PR Instructions
5οΈβ£ Miscellaneous
Meet our wonderful team comprised of Product Managers, Designers, Tech Leads, Engineers, and Microsoft Mentors!
![]() Faith Comising |
![]() Suhani Agrawal |
![]() Hita Thota |
![]() Debarshi Dey |
![]() Nynika Badam |
![]() Samundara Srinivas |
![]() Indira Shafii |
|
Aakash Kalmady |
![]() Jai Patel |
![]() Leia Spagnola |
![]() Nadia Meyerovich |
![]() Rishi Agarwal |
![]() Srinidhi Gubba |
![]() Brian McAbee |
![]() Laura Mills |
![]() Kalpana Iyer |
![]() Om Arya |
![]() Kaavya Radhakrishnan |
![]() Arjun Mahendra |
![]() Kyle Cho |
This section is important, so make sure to go through these steps to ensure your set up is correct. Reach out to Tech Leads should there be any issues that arise.
- Ensure you have SSH key set up completed (documentation for this can be found here).
- On the Github page, get the SSH clone link (referred to as SSH URL)
- Cd into a folder on your system that will contain this project
git clone [SSH URL]Now, cd into the winrock-international project.
cd frontend
npm install # install dependencies
npm run dev # start the development server
-
Install Firebase CLI
npm install -g firebase-tools firebase loginIf you have multiple firebase accounts, make sure to use the following commands to switch to your terpmail (or the email you have listed)
firebase login:add example@terpmail.umd.edu firebase login:list firebase login:use example@terpmail.umd.edu -
Install dependencies
cd functions npm install
For your reference, the full, most recent design as of now is below - will be updated if there are any future changes.
winrock-international/
βββ frontend/ # Frontend React (Vite + TypeScript)
β βββ src/
β βββ public/
β βββ package.json
β βββ vite.config.ts
β βββ firebaseConfig.ts
βββ backend/
β βββ functions/ # Firebase Cloud Functions
β β βββ index.ts
β β βββ package.json
β β βββ tsconfig.json
β β βββ .eslintrc.js # Linting rules
β βββ firestore.rules # Firestore security rules
β βββ .firebaserc
β βββ firebase.json
βββ .github/workflows/ # CI/CD pipeline (future)
βββ README.md
We require that you create your own branch based off of 'main' and make your changes there. When you're done, though, you need to create a Pull Request (PR). This is incredibly important as it will ensure that we do not have conflicting changes merged into the codebase - this can be really messy.
Here's a quick refresher on what to do to commit changes to Github:
git add .
git commit -m "ADD YOUR MESSAGE HERE"
git push
When you run these commands, you will see a "create a PR" URL that will be provided in your terminal - navigate to this URL.
We want to be able to quickly review your code and merge it into the codebase so we can progress faster. This is why we really need you to follow these steps to ensure that this is possible.
-
PR Checklist - Checklist
-
Title - Please follow this format so we know exactly what we're reviewing from the getgo:
[FRONTEND/BACKEND] <Brief Title Description>Pick FRONTEND or BACKEND based on whatever you're committing. The title description should also be identifiable (ex. "Pull Reading Assignments", "Configure Auth With Firebase")
-
Summary - This can be either in bullet points or a short paragraph, but essentially we want you to hit the following points:
- Files changed
- Brief mention of the task assigned
- A summary of the code changes made (needs to be more detailed but no need to fully describe every single change)
- If you are doing something frontend related, please attach a screenshot or a short video of what you have built
-
Request a review from both of the TLs (Github usernames are spoofle (Hita) and debarshidey23 (Debarshi)). You can do this on the right side of the PR page towards the top.
-
If we do not respond to your PR within 48 hours, please message us in your TL/Engineer group chat (this is between you and the two TLs). We will message you in this same chat when your PR is reviewed.
-
If your PR gets approved and there are merge conflicts, please resolve your merge conflicts before merging your PR. We will include a reminder to resolve merge conflicts in our message if necessary, so please take care of this before merging your code.
π‘ When deploying firebase cloud functions, use the command firebase deploy --only functions. This is ONLY when it is approved by TLs - do NOT deploy to firebase until PR is approved.
π‘ Examples of cloud functions/firebase functions can be found in src/cloud-functions
More will be added here as the project progresses.



















