Skip to content

softeerbootcamp/Team7-Amatta

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

header

😮 기프티콘이 많아서 관리가 어려웠다면?

😯 기프티콘을 한번에 보기가 어려웠다면?

😧 기프티콘의 유효기간을 자주 잊어서 사용하지 못했었다면?


🎖 Introduction

🎁 About our project

휴대폰에 이미지로 저장하는 기프티콘을 까먹지 말고 쓰자는 취지에서 기획한
기프티콘 이미지를 업로드하면 사용 여부 및 사용 기한을 확인할 수 있도록 하는 서비스❣️

기프티콘을 유효기간 또는 등록 순으로 원하는 대로 정렬하여 확인할 수 있고,
유효기간이 임박했을 경우에는 사용자 디바이스에게 알림을 주어 기프티콘을 잊지 않고 사용할 수 있게 도와주는 것이 주 기능입니다.
또한 보유하고 있는 기프티콘을 다른 사용자에게 선물할 수 있으며 기프티콘을 사용완료 처리를 하여 사용내역도 확인할 수 있습니다.
기프티콘을 주로 사용하는 디바이스가 모바일이기 때문에 모바일 웹앱으로 개발하기로 결정하였습니다.

🎨 Our Prototype

figma-image


💖 Main Features

1️⃣ 회원가입/로그인

2️⃣ 이메일 찾기/비밀번호 찾기

3️⃣ 기프티콘을 등록하기

4️⃣ 기프티콘 카드 리스트 보기(마감날짜순, 가격순, 등록순)

5️⃣ 기프티콘 사용완료 처리하기 및 삭제하기

6️⃣ 로그아웃

🧬 Our Architecture


🍭 FE

🔧 Structures

  📦
  client
   │ src
   │  ├─ apis
   │  │  ├─ auth.js
   │  │  ├─ client.js
   │  │  └─ post.js
   │  ├─ assets
   │  │  ├─ gifticonSample.jpeg
   │  │  ├─ starbucks.jpg
   │  │  ├─ starbucks2.jpg
   │  │  └─ starbucks3.jpeg
   │  ├─ components
   │  │  ├─ auth
   │  │  │  ├─ confirm.js
   │  │  │  ├─ index.js
   │  │  │  ├─ login.js
   │  │  │  ├─ register.js
   │  │  │  └─ verify.js
   │  │  ├─ common
   │  │  │  ├─ dropdownMenu.js
   │  │  │  ├─ header.js
   │  │  │  ├─ index.js
   │  │  │  └─ inputForm.js
   │  │  └─ main
   │  │     ├─ cardDetail.js
   │  │     ├─ cardList.js
   │  │     └─ index.js
   │  ├─ constants
   │  │  └─ constant.js
   │  ├─ core
   │  │  └─ router.js
   │  ├─ main.js
   │  ├─ pages
   │  │  ├─ AuthPage.js
   │  │  ├─ HomePage.js
   │  │  ├─ MainPage.js
   │  │  ├─ NotFoundPage.js
   │  │  ├─ PostPage.js
   │  │  └─ index.js
   │  ├─ styles
   │  │  ├─ auth.scss
   │  │  ├─ color.scss
   │  │  ├─ common.scss
   │  │  ├─ global.scss
   │  │  ├─ header.scss
   │  │  ├─ home.scss
   │  │  ├─ main.scss
   │  │  ├─ post.scss
   │  │  └─ util.scss
   │  └─ utils
   │     ├─ EventMonad.js
   │     ├─ IOMonad.js
   │     ├─ Maybe.js
   │     ├─ customFx.js
   │     ├─ domFx.js
   │     ├─ drag.js
   │     ├─ index.js
   │     ├─ screenSize.js
   │     ├─ slider.js
   │     ├─ templateGenerator.js
   │     └─ timer.js
   └─ vite.config.js

🍬 BE

🔧 Structures

    📦
    src
    ├── main
    │   ├── generated
    │   ├── java
    │   │   └── com
    │   │       └── amatta
    │   │           └── amatta_server
    │   │               ├── AmattaServerApplication.java
    │   │               ├── aop
    │   │               │   ├── AuthorizationAop.java
    │   │               │   ├── ClassRequiresAuth.java
    │   │               │   └── MethodRequiresAuth.java
    │   │               ├── exception
    │   │               │   ├── DuplicateGifticonException.java
    │   │               │   ├── GifticonNotSupportedException.java
    │   │               │   └── NotAuthenticatedException.java
    │   │               ├── fcm
    │   │               │   ├── FCMInitializer.java
    │   │               │   ├── controller
    │   │               │   │   └── FCMController.java
    │   │               │   ├── dto
    │   │               │   │   └── TokenRegisterDto.java
    │   │               │   ├── model
    │   │               │   │   └── FCMToken.java
    │   │               │   ├── repository
    │   │               │   │   └── DeviceTokenRepository.java
    │   │               │   └── service
    │   │               │       └── FCMService.java
    │   │               ├── gifticon
    │   │               │   ├── controller
    │   │               │   │   └── GifticonController.java
    │   │               │   ├── dto
    │   │               │   │   ├── GifticonDto.java
    │   │               │   │   ├── GifticonImageDto.java
    │   │               │   │   └── GifticonTextDto.java
    │   │               │   ├── enums
    │   │               │   │   └── GifticonMapperEnum.java
    │   │               │   ├── model
    │   │               │   │   └── Gifticon.java
    │   │               │   ├── repository
    │   │               │   │   └── GifticonRepository.java
    │   │               │   ├── service
    │   │               │   │   └── GifticonService.java
    │   │               │   └── util
    │   │               │       ├── GifticonMapper.java
    │   │               │       ├── GifticonMapperFactory.java
    │   │               │       ├── KakaoGifticonMapper.java
    │   │               │       ├── NaverAPIRequestGenerator.java
    │   │               │       ├── NoMatchMapper.java
    │   │               │       └── RequestGenerator.java
    │   │               ├── index
    │   │               │   └── IndexController.java
    │   │               └── user
    │   │                   ├── controller
    │   │                   │   └── UserController.java
    │   │                   ├── dto
    │   │                   │   ├── UserChangePasswordReq.java
    │   │                   │   ├── UserChangePasswordRes.java
    │   │                   │   ├── UserEmailExistRes.java
    │   │                   │   ├── UserFindEmailReq.java
    │   │                   │   ├── UserFindEmailRes.java
    │   │                   │   ├── UserFindPasswordByEmailReq.java
    │   │                   │   ├── UserFindPasswordByEmailRes.java
    │   │                   │   ├── UserJoinReq.java
    │   │                   │   ├── UserJoinRes.java
    │   │                   │   ├── UserLoginReq.java
    │   │                   │   ├── UserLoginRes.java
    │   │                   │   ├── UserLogoutRes.java
    │   │                   │   ├── UserMypageRes.java
    │   │                   │   └── UserPhoneNumExistRes.java
    │   │                   ├── model
    │   │                   │   └── Users.java
    │   │                   ├── repository
    │   │                   │   └── UserRepository.java
    │   │                   └── service
    │   │                       ├── MailService.java
    │   │                       └── UserService.java
    │   └── resources
    │       ├── application.properties
    │       └── team7-amatta-firebase-adminsdk-pa4f5-612a44bb30.json
    └── test
        ├── generated_tests
        └── java
            └── com
                └── amatta
                    └── amatta_server
                        ├── AmattaServerApplicationTests.java
                        ├── DatabaseTest.java
                        ├── FCMRepoTest.java
                        ├── GifticonControllerTest.java
                        └── user
                            └── UserControllerTest.java

👩‍👩‍👧‍👧 Contributors

Name Country Where to find us Role
MinJi Chang
Republic of Korea Github FRONTEND
JangOh Jeong
Republic of Korea Github FRONTEND
TaeWan Kim
Republic of Korea Github BACKEND
덕진 장
Republic of Korea Github BACKEND

Github

About

🎁 아마따 - 아 마따! 기프티콘 관리 서비스

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •