π GDSC 2023 Solution Challenge Global Top 100 Winner π
A project that means taking care of my meals and taking care of other people's meals with the food expenses users saved. Project name is derived from 'pass the hat' that means to ask a number of people to give money for something.
π± Youtube Link β‘οΈ https://www.youtube.com/watch?v=0UTi7BZtnCI
GOALS
- It solves health and well-being problems by encouraging regular eating habit by analyzing and showing users' meal records.
- It helps planned consumption by encouraging consumption that fits user's own food budget.
- It contributes to solving the hunger problem by allowing users to donate their budget savings to underprivileged children.
- 2023.01 ~ 2023.06
- Gahyun Lee (Backend, Server) @gahyun02
- Jiu Yang (Frontend) @yang-jiu
- Jungmin Lee (Frontend) @lmin402
- Eunjung Kwon (Frontend) @enjung
βοΈ Sign in / Sign up
Enter information such as ID and password and press the 'Sign up' and 'Sign in' buttons at the bottom to access the main page.
βοΈ Record Meal
It is a page that manages daily food expenses, and you can record your meal.
βοΈ Chart
This page is composed of household account book and food cost analysis.
- Household account book : When the daily settlement is completed, it shows how much food expenses have been saved, handed over, and put in the donation box. The following shows the amount of consumption and savings compared to the monthly budget.
- Food Cost Analysis : Shows the type of meal corresponding to the selection year and month compared to last month's statistics according to the number and cost.
βοΈ Donation
This is a page where you can donate the amount you saved through βSettle for a dayβ. You can see ongoing campaigns you can donate to and the campaigns you have donated to. In order to increase accessibility to the campaigns currently in progress, we have placed about 4 campaigns at the bottom so that you can preview them.
βοΈ Collection
You can see the amount of MEAL points users have earned through donation payment and the level proportional to the number of donations. When enough MEAL points are accumulated, you can unlock various characters. Complete your own collection!
βοΈ My page
You can check your basic information, modify your monthly food budget, and view your donation details in the form of a receipt.
- Payment for donation
We support simple payment through Toss Payments service. After a user selects the campaign and amount to be donated and pays, amount of payment is converted into Ether at a 1:1 ratio and deposited into the user's e-wallet.
- Smart Contract & BlockChain
20 MEAL points are awarded to the user after the donation is delivered to the campaign fundraising safe implemented as a smart contract. MEAL point is managed by Loyalty point API of Luniverse Baas(Blockchain as a service). So, You can see when and how your points were spent, and you can check them at a glance at any time.
- Recording Meals
Press β+β button and check a meal time, method and write price, and note. Then press the save button. After using the daily food expenses, Click "one-day settlement" button above the β+β button to save the donation amount. Donations are possible as much as the difference between the daily food budget and expenditure. The donations will be accumulated in the donation box.
- Tracking Consumption
You can track monthly consumption through accountbook and analysis charts. Go manage your consumption patterns in detail !
- Keeping in touch with beneficiaries
If you click the Letter icon in the upper right corner of app bar, you can see the news of people who have been helped through the campaign you donated to. When the fundraising period of the campaign you donated is over, you can communicate with the beneficiaries through photos of daily necessities provided by donations, their photos, or handwritten letters.
- Donating to a campaign
Once you have selected the campaign you would like to donate to, you will be taken to the payment page and the amount accumulated in the donation box will be donated.
Backend
| μν | μ’ λ₯ |
|---|---|
| Framework | |
| Deploy | |
| Database | |
| Programming Language | |
| Environment | |
| Communication |
Frontend
| μν | μ’ λ₯ |
|---|---|
| Framework | |
| Programming Language | |
| Environment | |
| Communication |
Backend
For building and running the application you need:
- Python 3.9.2
git clone https://github.com/Jakensori/Backend.git
pip install -r requirements.txt
cd Backend/naegginiggi
python3 manage.py runserverFrontend
- Flutter 3.10.2
- Dart 3.0.2
- Structure of directories
βββ README.md
βββ .gitignore
βββ db.sqlite3
βββ donation_smartcontract.sol : file of smartcontract
βββ dump.rdb
βββ manage.py
βββ requirements.txt : installed packages
βββ artifacts
βββ test.json
βββ test_metadata.json
βββ campaign
βββ migrations
βββ templates/chat
βββ chat_room.html
βββ index.html
βββ __init__.py
βββ admin.py
βββ apps.py
βββ consumers.py
βββ models.py
βββ routing.py
βββ serializers.py
βββ tests.py
βββ urls.py
βββ views.py
βββ donation_point
βββ migrations
βββ templates/chat
βββ requestPayment.html : payment webview
βββ success.html
βββ .views.py.swp
βββ __init__.py
βββ admin.py
βββ apps.py
βββ models.py
βββ routing.py
βββ serializers.py
βββ tests.py
βββ urls.py
βββ views.py
βββ naegginiggi
βββ __init__.py
βββ asgi.py
βββ result.json : donation campaign crawling data
βββ search_apitest.py : crawling 'happybean' site
βββ settings.py
βββ urls.py
βββ wsgi.py
βββ user
βββ migrations
βββ __init__.py
βββ admin.py
βββ apps.py
βββ models.py
βββ serializers.py
βββ tests.py
βββ urls.py
βββ views.py
βββ user_custom
βββ migrations
βββ __init__.py
βββ admin.py
βββ apps.py
βββ models.py
βββ serializers.py
βββ tests.py
βββ urls.py
βββ views.py
βββ user_record
βββ migrations
βββ .views.py.swp
βββ __init__.py
βββ admin.py
βββ apps.py
βββ models.py
βββ serializers.py
βββ tests.py
βββ urls.py
βββ views.py





