Skip to content

khss4008/Farmding

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Farmding

  • 농산물 크라우드 펀딩과 NFT를 결합한 웹 서비스

팀원을 소개합니다!

    고은민           김영진           김정서           나예인           송상훈

5FEAABBC-CA96-472A-B551-44C86809325Ekimjeongseo jpg 김영진 jpg jenkins-logo 송상훈

팀원 역할

고은민 : Frontend,BlockChain
김영진 : Backend,BlockChain
김정서 : Frontend,BlockChain
나예인 : Backend, Server, CI/CD
송상훈 : 팀장, Backend


프로젝트 기간 : 2022.08.22 ~ 2022.10.7

Farmding 로고

logo


개발환경

  • 협업툴
  • Notion
  • Jira
  • Mattermost
  • GitLab
  • Webex

  • React 18.2.0
  • React Router 6.3.0
  • Recoil 0.7.5
  • Material UI 5.10.3
  • Axios 0.27.2
  • Typescript 4.8.2
  • sweetalert2 11.4.37

  • Backend
  • openjdk 1.8.0_192
  • Java Zulu 8.33.0.1
  • eclipse 4.16.0 (2020-06)
  • Spring Boot 2.7.1
  • Spring Data JPA
  • Spring Security 5.6.6
  • MySQL 5.7.37

  • BlockChain
  • solidity

  • CI/CD
  • Docker version 20.10.18, build b40c2f6
  • NGINX
  • AWS EC2
  • Jenkins : jenkins/jenkins:lts (Docker image)

Farmding의 모토

농가와 소비자가 상생하는 크라우드 펀딩


서비스 설명

농산물 직거래를 크라우드 펀딩으로 수행함과 동시에 NFT 발급, 거래를 가능하게 해줍니다.

주요 기능

  • 크라우드 펀딩을 통한 농산물 직거래
  • 펀딩한 유저에게 NFT 발급
  • NFT를 통한 커뮤니티 형성
  • NFT구매, 판매가 가능한 마켓 운영

시스템 아키텍쳐

farmding_architecture


CI/CD 구축 및 SSL 인증서 적용

프론트엔드 React.js는 Nginx와 함께 docker를 사용하여 빌드 및 배포하였고, 백엔드 Spring boot 또한 docker container를 통해 배포하였습니다.
Nginx와 letsencrypt를 이용하여 SSL 인증서를 적용하고, 프론트엔드는 https의 기본값 443을 통해 분기, 백엔드는 /api의 경로로 프록시를 걸어주었습니다.

기술 특이점

  • SSAFY 블록체인 네트워크
  • Web3

요구사항 정의서

요구사항정의서


Git 컨벤션

FEAT:    새로운 기능을 추가할 경우
FIX:     버그를 고친 경우
STYLE:   코드 포맷 변경, 간단한 수정, 코드 변경이 없는 경우
REFATOR: 프로덕션 코드 리팩토링
DOCS:    문서를 수정한 경우(ex> Swagger)
Rename:  파일 혹은 폴더명 수정 및 이동
Remove:  파일 삭제

Git Flow 브랜치 전략

  • 사용 브랜치 master - 배포 devleop - 개발 feature - 기능

  • 진행 방식 feature의 기능이 완성되면 develop에 merge 배포 준비가 완료되면 develop 브랜치를 master에 merge



ER Diagram

ERD


EC2 포트 정리

443 HTTPS
80 HTTP -> HTTPS로 Redirect
3306 MySQL
8080 Spring Boot
3000 React
9090 Jenkins

개발 후 회고


송상훈 : 소중한 팀원들과 함께 프로젝트를 진행할 수 있어서 좋았습니다. 으쌰으쌰 하는 분위기 덕분에 프로젝트를 즐길 수 있었습니다.

김영진 : 새로운 기술을 배우다 보니 어려운 점도 많았지만, 즐거운 시간이었습니다. 현업에서도 새로운 기술 많이 배워서 쓸 텐데, 예행연습 한 느낌이에요!

나예인 : 목표로 했던 젠킨스 도입도 성공했고 새로운 기술에 도전하면서 많이 배운 것 같아 만족스럽습니다. 수고하셨습니다!

김정서 : NFT라는 새로운 기술을 접하며 재밌게 개발할 수 있었습니다.

고은민 : 블록체인 기술에 흥미를 갖게 된 계기였습니다! 새로운 도전은 힘들지만 재밌는 것 같습니다!

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published