Skip to content

2022-SN-AI-Pre-Internship-Team-D/letterman

Repository files navigation

💌비대면, 편지로 따뜻한 마음을 나누세요💌

소중한 사람들과 편지를 주고받으며 기록하며 공유할 수 있는 서비스

www.letterman.life

letterman medium


Contents


Purpose

  1. 온라인에서도 기념일을 함께하기 위해 !
  2. 혼자여도 외롭지 않은 기념일을 보내기 위해 !
  3. 여러사람들을 축하해주고 축하받기 위해 !

System Architecture


Tech Stack

Dev-Ops
Frontend
Backend
DB
Monitoring
Others

Features

  • 회원가입


  • 로그인


  • 메인페이지

메인페이지에서 우측 상단 공유버튼을 누르면 url이 복사되는데 url을 편지를 받고 싶은 사람에게 전송할 수 있습니다.
또한 이 페이지에서 아이콘을 클릭하면 받은 편지를 확인할 수 있습니다.
  • 편지를 작성하는 사람의 메인페이지

이 페이지에서 아이콘을 클릭하여 원하는 이벤트에 편지를 작성할 수 있습니다.

  • 마이 페이지


  • 편지 작성 페이지


  • 디데이 페이지

    편지를 볼 수 있는 날짜가 아닐 때 편지를 확인하면 나타나는 페이지 입니다.

  • 편지 리스트 페이지


  • 편지 캡쳐

    우측 상단의 공유버튼을 클릭하면 원하는 편지를 다운받을 수 있습니다.


Installation

Clone Repository

git clone --recursive https://github.com/2022-SN-AI-Pre-Internship-Team-D/letterman.git

Run

docker-compose -f docker-compose.prod.yml up --build

Database


API

Swagger


File Directory

FRONTEND
letterman-front
┣ public
 ┣ images
 ┃ ┣ back1.png
 ┃ ┣ back2.png
 ┃ ┣ back3.png
 ┃ ┣ cookieimg.png
 ┃ ┣ halloweenimg.png
 ┃ ┣ letterimg.png
 ┃ ┣ newyearimg.png
 ┃ ┣ thankimg.png
 ┃ ┣ treeimg.png
 ┃ ┗ valentineimg.png
 ┣ favicon.ico
 ┣ index.html
 ┣ logo192.png
 ┣ logo512.png
 ┣ manifest.json
 ┗ robots.txt
┣ src
 ┣ components
 ┃ ┣ App
 ┃ ┃ ┗ AuthRouter.tsx
 ┃ ┣ Audio
 ┃ ┃ ┗ audioPlayer.jsx
 ┃ ┣ MailList
 ┃ ┃ ┣ EachMail.tsx
 ┃ ┃ ┣ MailInput.tsx
 ┃ ┃ ┗ MoreButton.tsx
 ┃ ┣ RemainingDays
 ┃ ┃ ┣ EachCookie.tsx
 ┃ ┃ ┗ FooterCookies.tsx
 ┃ ┣ MovePath.tsx
 ┃ ┣ RemainModal.tsx
 ┃ ┗ ResultModal.tsx
 ┣ font
 ┃ ┗ SeaweedScript.ttf
 ┣ images
 ┃ ┣ .DS_Store
 ┃ ┣ Enter.png
 ┃ ┣ back.png
 ┃ ┣ circlecheck.png
 ┃ ┣ cookieimg.png
 ┃ ┣ downloadAudio.png
 ┃ ┣ letterbg.png
 ┃ ┣ logo192.png
 ┃ ┣ mic.png
 ┃ ┣ pauseAudio.png
 ┃ ┣ pencilImage.svg
 ┃ ┣ playAudio.png
 ┃ ┣ plus.png
 ┃ ┣ postcard.png
 ┃ ┣ profile.png
 ┃ ┣ shareimg.png
 ┃ ┣ star.svg
 ┃ ┣ stopAudio.png
 ┃ ┣ urlshare.png
 ┃ ┗ userprofile.png
 ┣ page
 ┃ ┣ .DS_Store
 ┃ ┣ BirthMailListPage.tsx
 ┃ ┣ LoginPage.tsx
 ┃ ┣ MailListPage.tsx
 ┃ ┣ MailWritePage.tsx
 ┃ ┣ MainPage.tsx
 ┃ ┣ MainPage2.tsx
 ┃ ┣ Mypage.tsx
 ┃ ┗ SignupPage.tsx
 ┣ redux
 ┃ ┣ configStore.tsx
 ┃ ┗ userID.tsx
 ┣ utils
 ┃ ┣ ColorSystem.tsx
 ┃ ┣ getUUID.tsx
 ┃ ┣ pageStyle.css
 ┃ ┣ tokenManager.tsx
 ┃ ┗ useCopyClipBoard.tsx
 ┣ .DS_Store
 ┣ App.tsx
 ┣ image.d.ts
 ┣ index.tsx
 ┗ tailwind.css
BACKEND
letterman-back
    ├── README.md
    ├── backend
    │   ├── backend
    │   │   ├── __init__.py
    │   │   ├── __pycache__
    │   │   │   ├── __init__.cpython-39.pyc
    │   │   │   ├── settings.cpython-39.pyc
    │   │   │   ├── urls.cpython-39.pyc
    │   │   │   └── wsgi.cpython-39.pyc
    │   │   ├── asgi.py
    │   │   ├── settings.py
    │   │   ├── urls.py
    │   │   └── wsgi.py
    │   ├── devenvs
    │   │   └── mysqldb.env
    │   ├── dockerfile
    │   ├── letters
    │   │   ├── __init__.py
    │   │   ├── __pycache__
    │   │   │   ├── __init__.cpython-39.pyc
    │   │   │   ├── admin.cpython-39.pyc
    │   │   │   ├── apps.cpython-39.pyc
    │   │   │   ├── models.cpython-39.pyc
    │   │   │   ├── serializers.cpython-39.pyc
    │   │   │   ├── urls.cpython-39.pyc
    │   │   │   ├── utils.cpython-39.pyc
    │   │   │   └── views.cpython-39.pyc
    │   │   ├── admin.py
    │   │   ├── apps.py
    │   │   ├── migrations
    │   │   │   ├── 0001_initial.py
    │   │   │   ├── 0002_initial.py
    │   │   │   ├── 0003_alter_letter_anni_id.py
    │   │   │   ├── 0004_alter_letter_anni_id.py
    │   │   │   ├── __init__.py
    │   │   │   └── __pycache__
    │   │   │       ├── 0001_initial.cpython-39.pyc
    │   │   │       ├── 0002_initial.cpython-39.pyc
    │   │   │       ├── 0003_alter_letter_anni_id.cpython-39.pyc
    │   │   │       ├── 0004_alter_letter_anni_id.cpython-39.pyc
    │   │   │       └── __init__.cpython-39.pyc
    │   │   ├── models.py
    │   │   ├── serializers.py
    │   │   ├── tests.py
    │   │   ├── urls.py
    │   │   ├── utils.py
    │   │   └── views.py
    │   ├── manage.py
    │   ├── requirements.txt
    │   └── users
    │       ├── __init__.py
    │       ├── __pycache__
    │       │   ├── __init__.cpython-39.pyc
    │       │   ├── admin.cpython-39.pyc
    │       │   ├── apps.cpython-39.pyc
    │       │   ├── models.cpython-39.pyc
    │       │   ├── serializers.cpython-39.pyc
    │       │   ├── urls.cpython-39.pyc
    │       │   └── views.cpython-39.pyc
    │       ├── admin.py
    │       ├── apps.py
    │       ├── migrations
    │       │   ├── 0001_initial.py
    │       │   ├── __init__.py
    │       │   └── __pycache__
    │       │       ├── 0001_initial.cpython-39.pyc
    │       │       └── __init__.cpython-39.pyc
    │       ├── models.py
    │       ├── serializers.py
    │       ├── tests.py
    │       ├── urls.py
    │       └── views.py
    └── docker-compose.yml

Monitoring Tools

  • prometheus & grafana

Demo

Letterman Demo


Team Member

사진
이름 양지윤 김유림 진호병 이수현 김수민 김유라
역할 backend
devops
backend
devops
frontend
devops
frontend
devops
backend
devops
frontend
GitHub

Reference