SlideShare a Scribd company logo
혼자서 커뮤니티 귀동냥하며 만든
Next.js & Amplify & serverless
framework 웹 플랫폼 서비스 구현(삽질)
후기
박태성(@geoseong) at IDEASAM
공유하려고 하는 이유
나의 발전, 이 발표자료를 보시는 분들의 발전을
위해.
영감을 받으시거나 혹은 반면교사로 삼으셨으면
박태성 @IDEASAM
R&D Specialist (개발잡부🤫)
발표자 소개
geoseong
geoseong
구로디지털 #gudi Organizer
프론트엔드 #frontend Organizer
Community Hero
MATCHMON - 주짓수 대회운영 플랫폼
아키텍쳐 - 코드관리
[serverless.yml]
[AWS 콘솔에 배포된 Lambda Layer의 모습]
아키텍쳐 - Lambda Layer
/.next
/node_modules
아키텍쳐 - AWS서비스
참가신
청알람
/
대회일
정알람
회원
로그인
이미지
Lambda
Layers
serverless framework
serverless cli
framework
$ STAGE=(dev|prod) next build
frontend
아키텍쳐 - 프론트엔드 amplify cli
$ amplify push
$ sls deploy
amplify framework
cli
프론트엔드 프로젝트 구성
프론트엔드 프로젝트 구성
matchmon.com/[pages]
process.env.{...}
import { createContext } from 'react'
import { ThemeProvider } from 'styled-components'
MatchView.getInitialProps = async props => {
// 백엔드 서버 요청 후 응답 받기
let responseObj = await fetch(endpoint, param)
let { status, data } = responseObj
return { status, data, … }
}
프론트엔드 Server Side Rendering (Next.js)
matchmon.com/match/gigipaivacup
const MatchView = props => {
return <div>
<Head><title>{title}</title><meta property=”og:title” content={title} /></Head>
<><Component /></>
</div>
}
export default Index
import Head from 'next/head'
구현 - 프론트엔드 서버 (serverless framework)
구현 - 프론트엔드 서버 (serverless framework)
구현 - 프론트엔드 서버 (serverless framework)
구현 - 프론트엔드 서버 (serverless framework)
구현 - 프론트엔드 서버
(serverless framework)
Lambda
Layers
( /opt | /로컬람다레이어경로)
구현 - 프론트엔드 서버
(serverless framework)
Lambda Layer
path
구현 - 프론트엔드 서버
(serverless framework)
prefetch
img, …
구현 - 프론트엔드 서버 (serverless framework)
프론트엔드 웹애플리케이션 구현 다른 방법
[AWSKRUG] 혼자서 커뮤니티 귀동냥하며 만든 Next.js & Amplify & serverless framework 서버리스 웹 플랫폼 서비스 구현 후기 - Frontend ver.
[AWSKRUG] 혼자서 커뮤니티 귀동냥하며 만든 Next.js & Amplify & serverless framework 서버리스 웹 플랫폼 서비스 구현 후기 - Frontend ver.
[AWSKRUG] 혼자서 커뮤니티 귀동냥하며 만든 Next.js & Amplify & serverless framework 서버리스 웹 플랫폼 서비스 구현 후기 - Frontend ver.
[AWSKRUG] 혼자서 커뮤니티 귀동냥하며 만든 Next.js & Amplify & serverless framework 서버리스 웹 플랫폼 서비스 구현 후기 - Frontend ver.
[AWSKRUG] 혼자서 커뮤니티 귀동냥하며 만든 Next.js & Amplify & serverless framework 서버리스 웹 플랫폼 서비스 구현 후기 - Frontend ver.
관리자 회원 관리 (Amplify
Framework)
Amplify CLI로 Cognito UserPool을 만들고 Amplify sdk로 유저관리
$ amplify add auth
Using service: Cognito, provided by: awscloudformation
The current configured provider is Amazon Cognito.
Do you want to use the default authentication and security
configuration? Manual configuration
Select the authentication/authorization services that you want to use:
User Sign-Up & Sign-In only (Best used with a cloud API only)
Please provide a friendly name for your resource that will be used to
label this category in the project: kendrabuttonauth
Please provide a name for your user pool: kendrabuttonauth
Warning: you will not be able to edit these selections.
How do you want users to be able to sign in? Username
Do you want to add User Pool Groups? No
관리자 회원 관리 (Amplify CLI)
https://github.com/awskrug/kendra-button/wiki
/[Auth] Making Cognito Userpool for kendra button
Do you want to add an admin queries API? No
Multifactor authentication (MFA) user login options: OFF
Email based user registration/forgot password: Enabled (Requires
per-user email entry at registration)
Please specify an email verification subject: Your verification code
Please specify an email verification message: Your verification code is
{####}
Do you want to override the default password policy for this User Pool? No
Warning: you will not be able to edit these selections.
What attributes are required for signing up? Email
Specify the app's refresh token expiration period (in days): 30
Do you want to specify the user attributes this app can read and write? No
Do you want to enable any of the following capabilities?
Do you want to use an OAuth flow? No
관리자 회원 관리 (Amplify SDK)
이미지 업로드
[프론트엔드]
백엔드에서 얻은 토큰으로
public 이미지 업로드
이미지 업로드
[백엔드] S3 업로드 권한 얻기(cognito도
세팅해봄)
[호출->]
[AWSKRUG] 혼자서 커뮤니티 귀동냥하며 만든 Next.js & Amplify & serverless framework 서버리스 웹 플랫폼 서비스 구현 후기 - Frontend ver.
SEO (Site Engine Optimization)
SEO (Site Engine Optimization)
SEO (Site Engine Optimization)
[AWSKRUG] 혼자서 커뮤니티 귀동냥하며 만든 Next.js & Amplify & serverless framework 서버리스 웹 플랫폼 서비스 구현 후기 - Frontend ver.
[AWSKRUG] 혼자서 커뮤니티 귀동냥하며 만든 Next.js & Amplify & serverless framework 서버리스 웹 플랫폼 서비스 구현 후기 - Frontend ver.
회고
규모가 작더라도 개발기획은 꼭 하자
목표를 잘개 쪼개서 성취감을 느껴 사기를 높이자
혼자 다 해내려고 하지 말고 다른 사람에게 도움을 요청해라
중간중간 결산을 위해 상대를 찾아 코드리뷰를 하자
커뮤니티 활동 덕분에 문제해결 많이했다 (아는척 할수 있게 되었다)

More Related Content

PDF
Cross browser testing using BrowserStack
PDF
Rest api 테스트 수행가이드
PDF
카카오스토리 웹팀의 코드리뷰 경험
PPTX
Fundamental Django, dan Contoh Program CRUD Katalog Buku Perpustakaan.
PDF
A Separation of Concerns: Clean Architecture on Android
PDF
우아한 모노리스
ODP
Testing RESTful Webservices using the REST-assured framework
PPTX
REST API testing with SpecFlow
Cross browser testing using BrowserStack
Rest api 테스트 수행가이드
카카오스토리 웹팀의 코드리뷰 경험
Fundamental Django, dan Contoh Program CRUD Katalog Buku Perpustakaan.
A Separation of Concerns: Clean Architecture on Android
우아한 모노리스
Testing RESTful Webservices using the REST-assured framework
REST API testing with SpecFlow

What's hot (20)

PPTX
Dependency injection - the right way
PPTX
Browser Automation with Playwright – for integration, RPA, UI testing and mor...
PDF
Dependency Injection
PDF
잘 키운 모노리스 하나 열 마이크로서비스 안 부럽다
PPTX
Hacking the browser with puppeteer sharp .NET conf AR 2018
PPTX
SpringBoot with MyBatis, Flyway, QueryDSL
PPTX
Python과 Tensorflow를 활용한 AI Chatbot 개발 및 실무 적용
PDF
SQL Server에서 Django를 추구하면 안 되는 걸까?
PDF
Page Object Model and Implementation in Selenium
ODP
Accelerate Quality with Postman - Basics
PDF
[NDC18] 나는 테스트 정책대로 살기로 했다.
PPTX
API Testing Using REST Assured with TestNG
PPTX
TypeScript: Basic Features and Compilation Guide
PDF
イマドキのExcelスクショの撮り方
PDF
Understanding react hooks
PPTX
The Clean Architecture
PDF
ドメイン駆動設計 失敗したことと成功したこと
PDF
ES2015 / ES6: Basics of modern Javascript
PDF
컴포넌트 관점에서 개발하기
PPTX
Cypress test techniques cucumber bdd framework,tdd,api tests course
Dependency injection - the right way
Browser Automation with Playwright – for integration, RPA, UI testing and mor...
Dependency Injection
잘 키운 모노리스 하나 열 마이크로서비스 안 부럽다
Hacking the browser with puppeteer sharp .NET conf AR 2018
SpringBoot with MyBatis, Flyway, QueryDSL
Python과 Tensorflow를 활용한 AI Chatbot 개발 및 실무 적용
SQL Server에서 Django를 추구하면 안 되는 걸까?
Page Object Model and Implementation in Selenium
Accelerate Quality with Postman - Basics
[NDC18] 나는 테스트 정책대로 살기로 했다.
API Testing Using REST Assured with TestNG
TypeScript: Basic Features and Compilation Guide
イマドキのExcelスクショの撮り方
Understanding react hooks
The Clean Architecture
ドメイン駆動設計 失敗したことと成功したこと
ES2015 / ES6: Basics of modern Javascript
컴포넌트 관점에서 개발하기
Cypress test techniques cucumber bdd framework,tdd,api tests course
Ad

Similar to [AWSKRUG] 혼자서 커뮤니티 귀동냥하며 만든 Next.js & Amplify & serverless framework 서버리스 웹 플랫폼 서비스 구현 후기 - Frontend ver. (20)

PPTX
혼자서 커뮤니티 귀동냥하며 만든 Next.js & Amplify & serverless framework 웹 플랫폼 서비스 구현(삽질) 후...
PDF
[AWS Dev Day] 실습워크샵 | Amplify 와 AI 서비스를 활용한 서버리스 기반 소셜 안드로이드 앱 만들기
PDF
[Play.node] node.js 를 사용한 대규모 글로벌(+중국) 서비스
PDF
Pusher create web notification service via javascript
PDF
NODE.JS 글로벌 기업 적용 사례 그리고, real-time 어플리케이션 개발하기
PDF
[GDG DevFest Seoul 2017] JAMstack이 GitHub와 CloudFlare를 만날 때 고성능 웹 어플리케이션 호스팅은...
PDF
AWS MobileHub와 AWS Amplify를 사용한 하이브리드 모바일 어플리케이션 개발하기 l 강정희 솔루션즈 아키텍트
PDF
하이브리드 모바일 어플리케이션 개발을 위한 새로운 도구, AWS Amplify (강정희, AWS 솔루션즈 아키텍트) :: AWS DevDa...
PDF
[커빙 아키텍쳐] 커빙은 어떻게 소셜 컨텐츠를 모아올까요?
PDF
[커빙 아키텍쳐] 커빙은 어떻게 소셜 컨텐츠를 모아올까요?
PDF
Cloud로 나아가는 Frond-end 개발자 - 박찬민(버드뷰) :: AWS Communityday online 2020
PDF
서버학개론(백엔드 서버 개발자를 위한)
PDF
Hoodpub 기술 발표
PDF
Portfolio
PPTX
Startup JavaScript 8 - NPM, Express.JS
PDF
PWA를 활용한 Daily Check In - 주니어 프론트 개발자가 혼자 웹앱 만든 썰
PDF
장고로 웹서비스 만들기 기초
PPTX
AWS Amplify, AppSync를 이용한 모던 어플리케이션 개발
PDF
Human designproject 최종발표
PDF
How to make web based collaborate code editor
혼자서 커뮤니티 귀동냥하며 만든 Next.js & Amplify & serverless framework 웹 플랫폼 서비스 구현(삽질) 후...
[AWS Dev Day] 실습워크샵 | Amplify 와 AI 서비스를 활용한 서버리스 기반 소셜 안드로이드 앱 만들기
[Play.node] node.js 를 사용한 대규모 글로벌(+중국) 서비스
Pusher create web notification service via javascript
NODE.JS 글로벌 기업 적용 사례 그리고, real-time 어플리케이션 개발하기
[GDG DevFest Seoul 2017] JAMstack이 GitHub와 CloudFlare를 만날 때 고성능 웹 어플리케이션 호스팅은...
AWS MobileHub와 AWS Amplify를 사용한 하이브리드 모바일 어플리케이션 개발하기 l 강정희 솔루션즈 아키텍트
하이브리드 모바일 어플리케이션 개발을 위한 새로운 도구, AWS Amplify (강정희, AWS 솔루션즈 아키텍트) :: AWS DevDa...
[커빙 아키텍쳐] 커빙은 어떻게 소셜 컨텐츠를 모아올까요?
[커빙 아키텍쳐] 커빙은 어떻게 소셜 컨텐츠를 모아올까요?
Cloud로 나아가는 Frond-end 개발자 - 박찬민(버드뷰) :: AWS Communityday online 2020
서버학개론(백엔드 서버 개발자를 위한)
Hoodpub 기술 발표
Portfolio
Startup JavaScript 8 - NPM, Express.JS
PWA를 활용한 Daily Check In - 주니어 프론트 개발자가 혼자 웹앱 만든 썰
장고로 웹서비스 만들기 기초
AWS Amplify, AppSync를 이용한 모던 어플리케이션 개발
Human designproject 최종발표
How to make web based collaborate code editor
Ad

[AWSKRUG] 혼자서 커뮤니티 귀동냥하며 만든 Next.js & Amplify & serverless framework 서버리스 웹 플랫폼 서비스 구현 후기 - Frontend ver.