8000 GitHub - Noah-43/BlockChallen
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Noah-43/BlockChallen

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

λΈ”λ‘μ±Œλ¦° - BlockChallen

img

블둝체인을 기반으둜 μ›ν•˜λŠ” λͺ©ν‘œλ₯Ό μ„€μ •ν•˜κ³ , λͺ©ν‘œ 달성 μ‹œ μ•”ν˜Έν™”νλ‘œ λ³΄μƒλ°›λŠ” μ„œλΉ„μŠ€

BlockChallen λ³΄λŸ¬κ°€κΈ°


계정
  • νšŒμ›
    • 카카였 μ†Œμ…œ 둜그인 / λ‘œκ·Έμ•„μ›ƒ
  • μ§€κ°‘
    • κ³„μ’Œ 생성
    • 카카였 페이둜 이더 μΆ©μ „
μ±Œλ¦°μ§€
  • 생성

    • μ±Œλ¦°μ§€ κ³„μ’Œ 생성
    • λ°°νŒ… κΈˆμ•‘(이더) μ†‘κΈˆ
  • μ°Έκ°€

    • λ°°νŒ… κΈˆμ•‘(이더) μ†‘κΈˆ
    • 사진 인증
      • 졜근 μˆ˜μ •μΌ == 인증일 ? 인증 성곡 : μ‹€νŒ¨
      • 블둝체인에 사진 ν•΄μ‹± 데이터 μ €μž₯
      • ν•΄μ‹± 데이터 기반 μœ„λ³€μ‘° 검사
      • νšŒμ› κ°„ μ‹ κ³ 
  • κ²°κ³Ό

    • 85% 이상 μ°Έκ°€ μ‹œ, 성곡
    • λΆ„λ°° 쑰건(랜덀 / κ· λ“±)에 λ”°λ₯Έ λ°°νŒ… κΈˆμ•‘ μžλ™ λΆ„λ°°
  • μ‚­μ œ

    • μ΅œμ†Œ μ°Έκ°€ 인원 미달 μ‹œ, μžλ™ μ‚­μ œ

    • μ‚­μ œ μ‹œ, λ°°νŒ… κΈˆμ•‘ μžλ™ ν™˜κΈ‰


πŸ‘© μ΅œν˜„μˆ˜ (ν”„λ‘ νŠΈ / νŒ€μž₯)
πŸ‘¨ λ°•ν˜•λ―Ό (ν”„λ‘ νŠΈ)
πŸ‘© μ΄μ±„μ˜ (ν”„λ‘ νŠΈ)
πŸ‘© μ΄μœ μ§„ (λ°±)
πŸ‘¨ μž„μ§„μ„­ (λ°±)

βœ’οΈ μ™€μ΄μ–΄ν”„λ ˆμž„

img

βœ’οΈ κ΅¬ν˜„ κ²°κ³Ό

img


πŸ› οΈ μ‚¬μš© 기술

batgebatgebatge batge

batge batgebatge batge batgebatge batge

batge batge batge batge batge batge


🌳 파일 ꡬ쑰

frontend
 β”œβ”€β”€ .gitignore
 β”œβ”€β”€ babel.config.js
 β”œβ”€β”€ frontend.iml
 β”œβ”€β”€ package-lock.json
 β”œβ”€β”€ package.json
 β”œβ”€> public
 β”‚   β”œβ”€> block
 β”‚   β”‚   β”œβ”€β”€ block0.jpg
 β”‚   β”‚   β”œβ”€β”€ block1.jpg
 β”‚   β”‚   β”œβ”€β”€ block10.jpg
 β”‚   β”‚   β”œβ”€β”€ block2.jpg
 β”‚   β”‚   β”œβ”€β”€ block3.jpg
 β”‚   β”‚   β”œβ”€β”€ block4.jpg
 β”‚   β”‚   β”œβ”€β”€ block5.jpg
 β”‚   β”‚   β”œβ”€β”€ block6.jpg
 β”‚   β”‚   β”œβ”€β”€ block7.jpg
 β”‚   β”‚   β”œβ”€β”€ block8.jpg
 β”‚   β”‚   └── block9.jpg
 β”‚   β”œβ”€β”€ certification.jpg
 β”‚   β”œβ”€β”€ index.html
 β”‚   β”œβ”€β”€ kakaopay.png
 β”‚   β”œβ”€β”€ lego.ico
 β”‚   β”œβ”€β”€ lego.png
 β”‚   └── uncertification.jpg
 β”œβ”€> src
 β”‚   β”œβ”€β”€ App.vue
 β”‚   β”œβ”€> assets
 β”‚   β”‚   β”œβ”€β”€ kakao_login_large_narrow.png
 β”‚   β”‚   └── logo.svg
 β”‚   β”œβ”€> components
 β”‚   β”‚   β”œβ”€β”€ BlockProgress.vue
 β”‚   β”‚   β”œβ”€β”€ CertificationReport.vue
 β”‚   β”‚   β”œβ”€β”€ ChallengeModal.vue
 β”‚   β”‚   β”œβ”€β”€ Footer.vue
 β”‚   β”‚   β”œβ”€β”€ KakaoPay.vue
 β”‚   β”‚   β”œβ”€β”€ KakaoPayCancel.vue
 β”‚   β”‚   β”œβ”€β”€ KakaoPaySuccess.vue
 β”‚   β”‚   β”œβ”€β”€ Loading.vue
 β”‚   β”‚   β”œβ”€β”€ MyWalletCharging.vue
 β”‚   β”‚   β”œβ”€β”€ PasswordModal.vue
 β”‚   β”‚   └── PictureModal.vue
 β”‚   β”œβ”€β”€ EventBus.js
 β”‚   β”œβ”€β”€ main.js
 β”‚   β”œβ”€> plugins
 β”‚   β”‚   └── vuetify.js
 β”‚   β”œβ”€> router
 β”‚   β”‚   └── index.js
 β”‚   β”œβ”€> store
 β”‚   β”‚   └── index.js
 β”‚   └─> views
 β”‚       β”œβ”€β”€ ChallengeCreate.vue
 β”‚       β”œβ”€β”€ ChallengeDetail.vue
 β”‚       β”œβ”€β”€ ChallengeList.vue
 β”‚       β”œβ”€β”€ Home.vue
 β”‚       β”œβ”€β”€ MyPage.vue
 β”‚       β”œβ”€β”€ PageNotFound.vue
 β”‚       β”œβ”€β”€ SignUp.vue
 β”‚       └── SocialLogin.vue
 β”œβ”€β”€ vue.config.js
 └── yarn.lock
backend
 β”œβ”€β”€ .gitignore
 β”œβ”€β”€ blockchallen.iml
 β”œβ”€β”€ mvnw
 β”œβ”€β”€ mvnw.cmd
 β”œβ”€β”€ package-lock.json
 β”œβ”€β”€ pom.xml
 └─> src
     └─> main
         β”œβ”€> java
         β”‚   └─> com
         β”‚       └─> ssafy
         β”‚           └─> blockchallen
         β”‚               β”œβ”€β”€ BlockchallenApplication.java
         β”‚               β”œβ”€β”€ CertificationRunner.java
         β”‚               β”œβ”€> config
         β”‚               β”‚   β”œβ”€β”€ ScheduleConfig.java
         β”‚               β”‚   └── SwaggerConfig.java
         β”‚               β”œβ”€> controller
         β”‚               β”‚   β”œβ”€β”€ AccountController.java
         β”‚               β”‚   β”œβ”€β”€ CertificationController.java
         β”‚               β”‚   β”œβ”€β”€ ChallengeController.java
         β”‚               β”‚   β”œβ”€> exception
         β”‚               β”‚   β”‚   β”œβ”€β”€ ControllerExceptionHandler.java
         β”‚               β”‚   β”‚   β”œβ”€β”€ ErrorMessage.java
         β”‚               β”‚   β”‚   └── ResourceNotFoundException.java
         β”‚               β”‚   β”œβ”€β”€ KakaoPayController.java
         β”‚               β”‚   └── WalletController.java
         β”‚               β”œβ”€> dto
         β”‚               β”‚   β”œβ”€β”€ AmountVO.java
         β”‚               β”‚   β”œβ”€β”€ CardVO.java
         β”‚               β”‚   β”œβ”€β”€ certificationDTO.java
         β”‚               β”‚   β”œβ”€β”€ certificationForCLDTO.java
         β”‚               β”‚   β”œβ”€β”€ certificationListDTO.java
         β”‚               β”‚   β”œβ”€β”€ checkPictureDTO.java
         β”‚               β”‚   β”œβ”€β”€ createChallengeDTO.java
         β”‚               β”‚   β”œβ”€β”€ detailChallengeDTO.java
         β”‚               β”‚   β”œβ”€β”€ failDTO.java
         β”‚               β”‚   β”œβ”€β”€ findAccountDTO.java
         β”‚               β”‚   β”œβ”€β”€ findWalletDTO.java
         β”‚               β”‚   β”œβ”€β”€ idDTO.java
         β”‚               β”‚   β”œβ”€β”€ KakaoPayApprovalVO.java
         β”‚               β”‚   β”œβ”€β”€ KakaoPayReadyVO.java
         β”‚               β”‚   β”œβ”€β”€ myChallengeDTO.java
         β”‚               β”‚   β”œβ”€β”€ reportDTO.java
         β”‚               β”‚   β”œβ”€β”€ resultChallengeDTO.java
         β”‚               β”‚   β”œβ”€β”€ setNicknameDTO.java
         β”‚               β”‚   β”œβ”€β”€ successDTO.java
         β”‚               β”‚   └── walletDTO.java
         β”‚               β”œβ”€> entity
         β”‚               β”‚   β”œβ”€β”€ Account.java
         β”‚               β”‚   β”œβ”€β”€ Certification.java
         β”‚               β”‚   β”œβ”€β”€ Challenge.java
         β”‚               β”‚   β”œβ”€β”€ Reward.java
         β”‚               β”‚   └── Wallet.java
         β”‚               β”œβ”€> repository
         β”‚               β”‚   β”œβ”€β”€ AccountRepository.java
         β”‚               β”‚   β”œβ”€β”€ CertificationRepository.java
         β”‚               β”‚   β”œβ”€β”€ ChallengeRepository.java
         β”‚               β”‚   β”œβ”€β”€ RewardRepository.java
         β”‚               β”‚   └── WalletRepository.java
         β”‚               β”œβ”€> service
         β”‚               β”‚   β”œβ”€β”€ IAccountService.java
         β”‚               β”‚   β”œβ”€β”€ ICertificationService.java
         β”‚               β”‚   β”œβ”€β”€ IChallengeService.java
         β”‚               β”‚   β”œβ”€> impl
         β”‚               β”‚   β”‚   β”œβ”€β”€ AccountService.java
         β”‚               β”‚   β”‚   β”œβ”€β”€ CertificationService.java
         β”‚               β”‚   β”‚   β”œβ”€β”€ ChallengeService.java
         β”‚               β”‚   β”‚   └── WalletService.java
         β”‚               β”‚   └── IWalletService.java
         β”‚               └── WalletRunner.java
         └─> resources
             └── application.properties

πŸ“„ Commit κ·œμΉ™

[BE/FE/FS] initial/update | λ‚΄μš© | Jira 이슈 번호

BE : λ°±

FE : ν”„λ‘ νŠΈ

FS : ν’€μŠ€νƒ

README(이름)

πŸ“„ Branch κ·œμΉ™

feature/κΈ°λŠ₯λͺ… 으둜 developμ—μ„œ λΆ„κΈ°ν•΄μ„œ μ‚¬μš©ν•˜κ³ , κΈ°λŠ₯ 개발 μ™„λ£Œ ν›„ develop에 λ¨Έμ§€!

πŸ’» AWS μ„œλ²„

Geth

// AWS 접속
$ ssh -i [pem μ €μž₯ 경둜]/[pem ν‚€] ubuntu@j3a102.p.ssafy.io

// Docker 접속
$ sudo docker exec -it eth /bin/bash

// geth λ°±κ·ΈλΌμš΄λ“œ μ‹€ν–‰
$ nohup geth --networkid 1225 --maxpeers 2 --datadir /node1/ --rpc --rpcapi "admin,db,eth,debug,miner,net,shh,txpool,personal,web3" --rpccorsdomain "*" --rpcaddr='0.0.0.0' --rpcvhosts="*" --rpcport "8545" >> /node1/geth.log &

// geth 접속
$ geth attach rpc:http://localhost:8545
$ geth attach rpc:http://j3a102.p.ssafy.io:8545

CI/CD


Jenkins

Gitlabμ—μ„œ push와 같은 webhook을 날리면 Jenkinsμ—μ„œ repositoryλ₯Ό κ°€μ§€κ³  μ™€μ„œ ν”„λ‘ νŠΈμ—”λ“œμ™€ λ°±μ—”λ“œλ₯Ό λΉŒλ“œ

Jenkins sever

id : visitor password : j3a102

λΉŒλ“œ μ™„λ£Œ μ‹œ SSH & SCPλ₯Ό 톡해 AWS둜 λΉŒλ“œλœ νŒŒμΌμ„ 날리고 sh파일과 Dockerfile을 톡해 μžλ™ 배포

## front.sh
sudo rm -rf /var/www/html/dist
sudo mv {front.sh 파일 경둜} /var/www/html/dist
sudo service nginx restart
## back.sh
sudo docker stop be
sudo docker rm be
sudo docker rmi be
sudo docker built -t be /{도컀 파일 경둜}
sudo docker run --name be -d -v /etc/localtime:/etc/localtime:ro -v /usr/share/zoneinfo/Asia/Seoul:/etc/timezone:ro -p 8080:8080 be
## Dockerfile
FROM openjdk:8-jre
COPY /{*.jar 파일 경둜}/*.jar app.jar
CMD ["java","-jar","/app.jar"]

직접 λΉŒλ“œ μ‹œ,

// λ°±μ—”λ“œ target 폴더 올리기
$ scp -i [pemν‚€ 경둜] -r [target 폴더 경둜] ubuntu@j3a102.p.ssafy.io:~/target

// ν”„λ‘ νŠΈμ—”λ“œ target 폴더 올리기
$ scp -i [pemν‚€ 경둜] -r [dist 폴더 경둜] ubuntu@j3a102.p.ssafy.io:~/dist

// dist 폴더 이동
$ sudo mv ~/dist /var/www/html/dist

// κΈ°μ‘΄ λ°±κ·ΈλΌμš΄λ“œ 죽이고, jar 파일 λ°±κ·ΈλΌμš΄λ“œλ‘œ μ‹€ν–‰
$ ps -ef | grep jar
$ sudo kill [ν”„λ‘œμ„ΈμŠ€ 번호]

$ sudo nohup java -jar -Duser.timezone=Asia/Seoul blockchallen-0.0.1-SNAPSHOT.jar &

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 5

0