/DeepMush

Mushroom classification app

Primary LanguagePythonMIT LicenseMIT

ν•œκ΅­μ–΄ | English


πŸ„ DeepMush

  • 버섯 AI 뢄석 및 λ²„μ„―μ±„μ§‘μœ„μΉ˜ μ €μž₯ ν”Œλž«νΌ

ν™”λ©΄ 흐름 λͺ¨λΈ

quizmaker_imageupload


Core Screen


1.μ†Œμ…œλ‘œκ·ΈμΈ
2.μœ μ €μ •λ³΄
3.λ²„μ„―λ¦¬μŠ€νŠΈ
4.카메라화면/AI뢄석
5.λ²„μ„―μœ„μΉ˜μ •λ³΄

μ†Œμ…œλ‘œκ·ΈμΈ,μœ μ €μ •λ³΄

quizmaker_imageupload      quizmaker_imageupload      quizmaker_imageupload


λ²„μ„―λ¦¬μŠ€νŠΈ(검색/μ‚­μ œ/상세)

quizmaker_imageupload      quizmaker_imageupload      quizmaker_imageupload


카메라화면/AI뢄석(μ•¨λ²”μ—…λ‘œλ“œ,μ΄¬μ˜μ—…λ‘œλ“œ,empty)

quizmaker_imageupload      quizmaker_imageupload      quizmaker_imageupload


λ²„μ„―μœ„μΉ˜μ •λ³΄

quizmaker_imageupload


🏒 System Architecture



πŸ”§ Tech stack


λΆ„λ₯˜ 기술
CI/CD Terraform GithubActions AmazonAWS Ansible
κ°œλ°œν™˜κ²½ Kubernetes S3
Frontend react expo typescript Styled-components
Backend Django RabbitMQ Elasticsearch Kibana Logstash Gunicorn Swagger
DB MongoDB PostgreSQL
Deep learning Python Colab Yolov5 Selenium
Etc Prometheus Grafana

πŸ“‘ Swagger


swagger


πŸ€– AI


swagger

swagger

swagger



πŸƒβ€β™‚οΈ How to Start


# cd frontend
# npm install
# expo start




Directory tree


.
β”œβ”€β”€ LICENSE
β”œβ”€β”€ README.md
β”œβ”€β”€ backend
β”‚   β”œβ”€β”€ Dockerfile
β”‚   β”œβ”€β”€ README.md
β”‚   β”œβ”€β”€ accounts
β”‚   β”œβ”€β”€ config
β”‚   β”œβ”€β”€ db
β”‚   β”œβ”€β”€ images
β”‚   β”œβ”€β”€ inference
β”‚   β”œβ”€β”€ latlngs
β”‚   β”œβ”€β”€ logs
β”‚   β”œβ”€β”€ manage.py
β”‚   β”œβ”€β”€ registry.py
β”‚   β”œβ”€β”€ requirements.txt
β”‚   β”œβ”€β”€ run-celery.sh
β”‚   β”œβ”€β”€ run.sh
β”‚   β”œβ”€β”€ scripts
β”‚   β”œβ”€β”€ secrets.json
β”‚   β”œβ”€β”€ secrets.template.json
β”‚   β”œβ”€β”€ static-files
β”‚   └── users
β”œβ”€β”€ build-images.sh
β”œβ”€β”€ data
β”‚   β”œβ”€β”€ elk-data
β”‚   β”œβ”€β”€ grafana
β”‚   └── prometheus
β”œβ”€β”€ db
β”œβ”€β”€ deploy
β”‚   β”œβ”€β”€ 502saver.service
β”‚   β”œβ”€β”€ 502saver.sh
β”‚   β”œβ”€β”€ setup.tf
β”‚   β”œβ”€β”€ setup.yaml
β”‚   └── variables.tf
β”œβ”€β”€ docker-compose.yml
β”œβ”€β”€ elastic
β”‚   β”œβ”€β”€ elasticsearch.prod.yml
β”‚   └── elasticsearch.yml
β”œβ”€β”€ filebeat
β”‚   β”œβ”€β”€ filebeat.prod.yml
β”‚   └── filebeat.yml
β”œβ”€β”€ frontend
β”‚   β”œβ”€β”€ App.tsx
β”‚   β”œβ”€β”€ app.json
β”‚   β”œβ”€β”€ assets
β”‚   β”œβ”€β”€ babel.config.js
β”‚   β”œβ”€β”€ node_modules
β”‚   β”œβ”€β”€ package-lock.json
β”‚   β”œβ”€β”€ package.json
β”‚   β”œβ”€β”€ shim.js
β”‚   └── src
β”‚   β”‚   β”œβ”€β”€ Components
β”‚   β”‚   β”‚   β”œβ”€β”€ BorderLineComponent.tsx //line component 
β”‚   β”‚   β”‚   β”œβ”€β”€ ListBodyComponent.tsx //mushromm list body component
β”‚   β”‚   β”‚   β”œβ”€β”€ ListFooterComponent.tsx // mushroom list foot component
β”‚   β”‚   β”‚   β”œβ”€β”€ ListPageHeaderComponent.tsx // mushroon list header component
β”‚   β”‚   β”‚   β”œβ”€β”€ SearchBarComponent.tsx //searchbar component
β”‚   β”‚   β”‚   └── functionComponent.tsx //empty mushroom detect and expolocation function component
β”‚   β”‚   β”œβ”€β”€ MainContainer.tsx
β”‚   β”‚   β”œβ”€β”€ Screens
β”‚   β”‚   β”‚   β”œβ”€β”€ DetailMapPage.tsx //detail mushroom location page
β”‚   β”‚   β”‚   β”œβ”€β”€ DetailPage.tsx //detail mushroom info page
β”‚   β”‚   β”‚   β”œβ”€β”€ ExpoCameraPage.tsx //camera and image to server api 
β”‚   β”‚   β”‚   β”œβ”€β”€ ListPage.tsx //mushroom list page
β”‚   β”‚   β”‚   β”œβ”€β”€ LoginPage.tsx //google login and kakao login
β”‚   β”‚   β”‚   β”œβ”€β”€ MapPage.tsx //all mushroom's location 
β”‚   β”‚   β”‚   β”œβ”€β”€ UserInfoPage.tsx //user info page 
β”‚   β”‚   β”‚   └── WebSee.tsx //webview page for social login
β”‚   β”œβ”€β”€ tsconfig.json
β”‚   β”œβ”€β”€ yarn-error.log
β”‚   └── yarn.lock
β”œβ”€β”€ grafana
β”‚   β”œβ”€β”€ grafana.ini
β”‚   └── grafana.prod.ini
β”œβ”€β”€ init-k3s-cluster.sh
β”œβ”€β”€ install-cert-manager.sh
β”œβ”€β”€ k8s
β”œβ”€β”€ logstash
β”‚   └── input.local.conf
β”œβ”€β”€ mongo-db
β”œβ”€β”€ nginx
β”‚   β”œβ”€β”€ config
β”‚   └── logs
β”œβ”€β”€ production
β”œβ”€β”€ prometheus
β”œβ”€β”€ push-images.sh
β”œβ”€β”€ rolling-release.sh
β”œβ”€β”€ uninstall-cert-manager.sh
└── up-pods.sh

πŸ‘¨β€πŸ‘¨β€πŸ‘§β€πŸ‘¦ Members


이름 κ°œλ°œλΆ„μ•Ό μ†Œκ°œνŽ˜μ΄μ§€
κΉ€λ―Όμ›… Front-end 개인 리포둜 이동
κΉ€μ€€ν˜• Front-end 개인 리포둜 이동
μ΄μ§€ν˜Έ Back-end 개인 리포둜 이동
μ΅œμš°μ„ Back-end 개인 리포둜 이동
Ryan Lee Deep learning 개인 리포둜 이동