## Inspiration

Our inspiration came from the desire to address the issue of food waste and to help those in need. We decided to create an online platform that connects people with surplus food to those who need to address the problem of food insecurity and food waste, which is a significant environmental and economic problem. We also hoped to highlight the importance of community-based solutions, where individuals and organizations can come together to make a positive impact. We believed in the power of technology and how it can be used to create innovative solutions to social issues.

## What it does

Users can create posts about their surplus perishable food (along with expiration date+time) and other users can find those posts to contact the poster and come pick up the food. We thought about it as analogous to Facebook Marketplace but focused on surplus food.

## How we built it

We used React + Vite for the frontend and Express + Node.js for the backend. For infrastructure, we used Cloudflare Pages for the frontend and Microsoft Azure App Service for backend.

## Security Practices

#### Strict repository access permissions

(Some of these were lifted temporarily to quickly make changes while working with the tight deadline in a hackathon environment):

* Pull Request with at least 1 review required for merging to the main branch so that one of our team members' machines getting compromised doesn't affect our service.
* Reviews on pull requests must be after the latest commit is pushed to the branch to avoid making malicious changes after a review
* Status checks (build + successful deployment) must pass before merging to the main branch to avoid erroneous commits in the main branch
* PR branches must be up to date with the main branch to merge to make sure there are no incompatibilities with the latest commit causing issues in the main branch
* All conversations on the PR must be marked as resolved to make sure any concerns (including security) concerns someone may have expressed have been dealt with before merging
* Admins of the repository are not allowed to bypass any of these rules to avoid accidental downtime or malicious commits due to the admin's machine being compromised

#### Infrastructure

* Use Cloudflare's CDN (able to mitigate the largest DDoS attacks in the world) to deploy our static files for the frontend
* Set up SPF, DMARC and DKIM records on our domain so that someone spoofing our domain in emails doesn't work
* Use Microsoft Azure's App Service for CI/CD to have a standard automated procedure for deployments and avoid mistakes as well as avoid the responsibility of having to keep up with OS security updates since Microsoft would do that regularly for us
* We worked on using DNSSEC for our domain to avoid DNS-related attacks but domain.com (the hackathon sponsor) requires contacting their support to enable it. For my other projects, I implement it by adding a DS record on the registrar's end using the nameserver-provided credentials
* Set up logging on Microsoft Azure

#### Other

* Use environment variables to avoid disclosing any secret credentials
* Signed up with Github dependabot alerts to receive updates about any security vulnerabilities in our dependencies
* We were in the process of implementing an Authentication service using an open-source service called Supabase to let users sign in using multiple OAuth methods and implement 2FA with TOTP (instead of SMS)
* For all the password fields required for our database and Azure service, we used Bitwarden password generator to generate 20-character random passwords as well as used 2FA with TOTP to login to all services that support it
* Used SSL for all communication between our resources

## Challenges we ran into

* Getting the Google Maps API to work
* Weird errors deploying on Azure
* Spending too much time trying to make CockroachDB work. It seemed to require certificates for connection even for testing. It seemed like their docs for using sequalize with their DB were not updated since this requirement was put into place.

## Accomplishments that we're proud of

Winning the security award by CSE!

## What we learned

We learned to not underestimate the amount of work required and do better planning next time.
Meanwhile, maybe go to fewer activities though they are super fun and engaging! Don't take us wrong as we did not regret doing them! XD

## What's next for Food Share

Food Share is built within a limited time. Some implementations that couldn't be included in time:

* Location of available food on the interactive map
* More filters for the search for available food
* Accounts and authentication method
* Implement Microsoft Azure live chat called Azure Web PubSub
* Cleaner UI
## Inspiration

Many investors looking to invest in startup companies are often overwhelmed by the sheer number of investment opportunities, worried that they will miss promising ventures without doing adequate due diligence. Likewise, since startups all present their data in a unique way, it is challenging for investors to directly compare companies and effectively evaluate potential investments. On the other hand, thousands of startups with a lot of potential also lack visibility to the right investors. Thus, we came up with Disruptive as a way to bridge this gap and provide a database for investors to view important insights about startups tailored to specific criteria.

## What it does

Disruptive scrapes information from various sources: company websites, LinkedIn, news, and social media platforms to generate the newest possible market insights. After homepage authentication, investors are prompted to indicate their interest in either Pre/Post+ seed companies to invest in. When an option is selected, the investor is directed to a database of company data with search capabilities, scraped from Kaggle. From the results table, a company can be selected and the investor will be able to view company insights, business analyst data (graphs), fund companies, and a Streamlit Chatbot interface. You are able to add more data through a DAO platform, by getting funded by companies looking for data. The investor also has the option of adding a company to the database with information about it.

## How we built it

The frontend was built with Next.js, TypeScript, and Tailwind CSS. Firebase authentication was used to verify users from the home page. (Company scraping and proxies for company information) Selenium was used for web scraping for database information. Figma was used for design, authentication was done using Firebase.
The backend was built using Flask, StreamLit, and Taipy. We used the Circle API and Hedera to generate bounties using blockchain. SQL and graphQL were used to generate insights, OpenAI and QLoRa were used for semantic/similarity search, and GPT fine-tuning was used for few-shot prompting.

## Challenges we ran into

Having never worked with Selenium and web scraping, we found understanding the dynamic loading and retrieval of web content challenging. The measures some websites have against scraping were also interesting to learn and try to work around. We also worked with chat-GPT and did prompt engineering to generate business insights - a task that can sometimes yield unexpected responses from chat-GPT!

## Accomplishments that we're proud of + What we learned

We learned how to use a lot of new technology during this hackathon. As mentioned above, we learned how to use Selenium, as well as Firebase authentication and GPT fine-tuning.

## What's next for Disruptive

Disruptive can implement more scrapers for better data in terms of insight generation. This would involve scraping from other options than Golden once there is more funding. Furthermore, integration between frontend and blockchain can be improved further. Lastly, we could generate better insights into the format of proposals for clients.
## Inspiration

Travelling past drains with heaps of food waste daily on my way to the school was the first time I noticed the irony of the situation - In India while 40% of the food is going down the drain every single day, 194 million citizens are going to sleep hungry. At the same time India is also producing 2 million tons of e-waste annually. **So, in order to tackle both these issues of food-waste & e-waste simultaneously I came up with the idea to build Syffah.**

## What it does

Syffah, which stands for **'Share Your Food, Feed All Humanity'**, is a web application which has two functions:

1. It will allow users to donate old refrigerators, which they otherwise throw away, which will be set up outside societies. People who have leftover food to donate can keep it in these community refrigerators so that the poor and homeless can access this food.
2. It will also allow users like event caterers, restaurants, hotels and individuals to donate their leftover food by posting it so that NGOs and Hunger Relief Organizations can then directly contact them, collect the food and distribute it amongst the needy.

## How we built it

* I started off by analyzing the problem at hand, followed by deciding the functionality and features of the app.
* I have also created a business plan, including Revenue model, marketing strategy and SWOT analysis.
* I then went ahead with the wireframing and mock-ups and worked on the UX/UI.
* This was followed by building the front-end of the web-app for which I have used HTML, CSS and Javascript and some php for developing one part of backend.
* However, I wasn't able to develop the back-end in the given time as I was not familiar with the languages (for which I had planned on using Google Cloud services - Firebase)
* Hence, the project is unfinished.

## Challenges we ran into

* This was my first hackathon so had some difficulties
* Was not able to develop the back-end in time, trying to learn back-end development in a short period of time was challenging, but it was still fun trying
* Enhancing the User Interface

## Accomplishments that we're proud of

* The main pages of the website are responsive.
* The UX and UI of the web-page, keeping it as simple as possible

## What we learned

* Learnt about Hackathons
* Learnt basics of Google Firebase, cloud services
* Learnt UX/UI concepts of cards, color schemes, typography, etc.

## What's next for Project SYFFAH

* Creating a fully functional prototype of the web app
* Developing the backend using Google Firebase
* Also developing an Android app alongside web-app
* Conducting ground-work and research for deploying these services
* Conducting market analysis, surveys and beta and alpha testing to improve the application overall