Quickstarters
CRUD Samples
Ember.js로 CRUD 애플리케이션 만들기?
35 분
소개 이 안내서에서는 ember js를 사용하여 간단한 crud(생성, 읽기, 업데이트, 삭제) 애플리케이션을 구축하는 방법을 배웁니다 우리는 데이터를 손쉽게 관리하기 위해 back4app을 백엔드 서비스로 사용할 것입니다 이 가이드는 crud 시스템의 모든 기본 작업을 다루며, back4app 프로젝트를 설정하고, 동적 데이터 모델을 설계하며, crud 작업을 ember js 애플리케이션에 통합하는 방법을 보여줍니다 우선, basic crud app ember 라는 이름의 back4app 프로젝트를 설정하여 애플리케이션에 신뢰할 수 있는 비관계형 데이터 저장 솔루션을 제공합니다 모델과 필드를 수동으로 설정하거나 back4app의 ai 에이전트를 통해 데이터 구조를 정의합니다 다음으로, 데이터를 간단한 드래그 앤 드롭 상호작용으로 관리할 수 있는 코드 없는 인터페이스인 back4app 관리 앱을 탐색합니다 마지막으로, api 호출을 통해 ember js 애플리케이션을 back4app과 통합하고, 그 과정에서 안전한 접근 제어를 구현합니다 이 튜토리얼이 끝나면, 안전한 사용자 인증 및 효과적인 데이터 관리를 포함하여 모든 crud 작업을 수행할 수 있는 프로덕션 준비가 완료된 ember js 애플리케이션을 갖게 됩니다 주요 요점 강력한 백엔드 플랫폼을 기반으로 한 ember js 기반 crud 애플리케이션을 구축합니다 ember js 프론트 엔드와 확장 가능한 백엔드를 구조화하고 통합하는 방법을 이해합니다 back4app의 직관적인 관리 앱을 사용하여 생성, 읽기, 업데이트 및 삭제 작업을 손쉽게 수행합니다 원활한 애플리케이션 배포를 위한 docker 컨테이너화 등 배포 전략에 대해 배웁니다 전제 조건 시작하기 전에 다음 사항을 확인하십시오 새로 생성된 프로젝트가 있는 back4app 계정입니다 도움이 필요하신가요? back4app 시작하기 https //www back4app com/docs/get started/new parse app 를 방문하세요 ember js 개발 환경입니다 ember cli를 설치하고 ember js 가이드 https //guides emberjs com/release/ 를 따라 환경을 설정하세요 ember js, javascript 및 rest api에 대한 기본적인 이해입니다 필요한 경우 이 주제를 복습하세요 1단계 – 프로젝트 설정 새로운 back4app 프로젝트 시작하기 back4app 계정에 로그인하세요 대시보드에서 “새 앱” 버튼을 클릭하세요 프로젝트 이름을 지정하세요 basic crud app ember 및 후속 프롬프트에 따라 프로젝트 설정을 완료하세요 새 프로젝트 만들기 프로젝트가 생성되면 대시보드에 나타나고 백엔드 구성의 기초가 됩니다 2단계 – 데이터 모델 설계 데이터 모델 구조화 이 crud 애플리케이션을 위해 back4app 프로젝트에서 여러 모델을 정의할 것입니다 아래는 crud 작업을 수행하는 데 필요한 핵심 모델과 필드를 설명하는 예시입니다 1\ 항목 모델 이 모델은 각 항목에 대한 정보를 저장합니다 필드 데이터 유형 설명 id 객체 id 자동 생성된 고유 식별자 제목 문자열 항목의 이름 설명 문자열 항목에 대한 간략한 요약 생성일 날짜 항목이 추가된 시간을 표시하는 타임스탬프 업데이트됨 날짜 마지막 업데이트를 표시하는 타임스탬프 2\ 사용자 모델 이 모델은 사용자 인증 및 자격 증명을 처리합니다 필드 데이터 유형 설명 id 객체 id 자동 생성된 고유 식별자 사용자 이름 문자열 사용자를 위한 고유한 사용자 이름 이메일 문자열 사용자의 고유 이메일 주소 비밀번호 해시 문자열 암호화된 사용자 비밀번호 생성일 날짜 계정이 생성된 시간 업데이트됨 날짜 계정이 업데이트된 타임스탬프 이 모델을 생성하고 back4app 대시보드 내에서 필드를 정의할 수 있습니다 새 클래스 만들기 데이터 유형을 선택하고, 필드 이름을 입력하고, 기본값을 설정하고, 필수 여부를 표시하여 필드를 추가할 수 있습니다 열 만들기 스키마 생성을 위한 back4app ai 에이전트 활용하기 back4app ai 에이전트는 귀하의 사양에 따라 데이터 스키마를 자동으로 구성할 수 있는 대시보드 내의 지능형 기능입니다 이 도구는 crud 작업에 최적화된 데이터 모델을 보장하여 프로젝트 초기화를 간소화합니다 ai 에이전트 사용 방법 ai 에이전트 열기 back4app 대시보드에 로그인하고 프로젝트 설정에서 ai 에이전트를 찾습니다 모델 세부정보 제공 필요한 모델과 필드에 대한 자세한 설명을 제출합니다 검토 및 확인 ai 에이전트가 제안된 스키마를 생성합니다 세부정보를 확인하여 구성을 적용합니다 샘플 프롬프트 create the following models in my back4app project 1\) model items \ fields \ id objectid (auto generated) \ title string \ description string \ createdat date (auto generated) \ updatedat date (auto updated) 2\) model users \ fields \ id objectid (auto generated) \ username string (unique) \ email string (unique) \ passwordhash string \ createdat date (auto generated) \ updatedat date (auto updated) 이 ai 지원 접근 방식은 시간을 절약하고 데이터 구조가 일관되고 최적화되도록 보장합니다 3단계 – 관리 앱 활성화 및 crud 작업 처리 관리 앱 개요 back4app 관리 앱은 백엔드 데이터를 관리하기 위한 사용자 친화적인 코드 없는 플랫폼을 제공합니다 드래그 앤 드롭 인터페이스를 통해 레코드를 추가, 보기, 업데이트 및 제거하는 crud 작업을 쉽게 수행할 수 있습니다 관리 앱 활성화 “더보기” 메뉴로 이동 back4app 대시보드에서 “관리 앱” 선택 을 클릭하고 “관리 앱 활성화 ” 관리 자격 증명 구성 초기 관리 계정을 생성하여 이렇게 하면 역할(예 b4aadminuser ) 및 시스템 모델이 설정됩니다 관리 앱 활성화 활성화되면 관리 앱에 로그인하여 애플리케이션의 데이터를 관리합니다 관리 앱 대시보드 관리 앱을 통한 crud 작업 관리 관리 앱 내에서 다음을 수행할 수 있습니다 레코드 삽입 모델 내에서 “레코드 추가” 버튼을 클릭하여 새 데이터를 입력합니다 레코드 검사/수정 세부 정보를 보거나 필드를 편집하려면 레코드를 선택합니다 레코드 삭제 더 이상 필요하지 않은 항목을 제거합니다 이 간소화된 인터페이스는 데이터 관리의 효율성을 크게 향상시킵니다 4단계 – ember js 애플리케이션을 back4app과 연결하기 백엔드가 구성되었으므로 ember js 애플리케이션을 back4app에 연결할 시간입니다 ember js에서 api 호출 사용하기 ember js는 데이터 작업을 처리하기 위해 ember data를 활용합니다 이 튜토리얼에서는 rest 어댑터를 사용하여 back4app 백엔드와 상호작용합니다 1\ rest 어댑터 구성하기 다음 구성을 사용하여 애플리케이션의 어댑터를 생성하거나 업데이트합니다 (예 app/adapters/application js ) import restadapter from '@ember data/adapter/rest'; export default class applicationadapter extends restadapter { host = 'https //parseapi back4app com'; headers = { 'x parse application id' 'your application id', 'x parse rest api key' 'your rest api key', 'content type' 'application/json' }; } 2\ ember data 모델 정의하기 다음과 같이 item 에 대한 ember 모델을 생성합니다 (예 app/models/item js ) import model, { attr } from '@ember data/model'; export default class itemmodel extends model { @attr('string') title; @attr('string') description; @attr('date') createdat; @attr('date') updatedat; } 그리고 user 에 대해서도 비슷하게 (예 app/models/user js ) import model, { attr } from '@ember data/model'; export default class usermodel extends model { @attr('string') username; @attr('string') email; @attr('string') passwordhash; @attr('date') createdat; @attr('date') updatedat; } 3\ crud 작업 구현하기 ember data의 스토어 서비스를 사용하여 crud 작업을 수행합니다 예를 들어, 모든 항목을 가져오려면 다음과 같은 경로를 생성할 수 있습니다 import route from '@ember/routing/route'; export default class itemsroute extends route { model() { return this store findall('item'); } } ember data의 api 메서드를 사용하여 레코드를 추가, 업데이트 또는 삭제할 수도 있습니다 대안 api 호출을 위한 네이티브 fetch 사용하기 ember data를 사용하지 않으려면 네이티브 fetch 호출을 활용할 수 있습니다 예를 들어, 항목을 검색하려면 async function fetchitems() { try { let response = await fetch('https //parseapi back4app com/classes/items', { method 'get', headers { 'x parse application id' 'your application id', 'x parse rest api key' 'your rest api key' } }); let data = await response json(); console log('fetched items ', data); } catch (error) { console error('error fetching items ', error); } } 필요에 따라 이러한 api 호출을 ember 구성 요소 또는 서비스에 통합하세요 5단계 – 백엔드 보안 강화 접근 제어 구현하기 각 객체에 대한 접근 제어 목록(acl)을 구성하여 데이터를 보호하세요 예를 들어, 소유자에게만 보이도록 설정해야 하는 항목을 생성할 때, api 호출을 통해 acl 설정을 조정할 수 있습니다 클래스 수준 권한(clps) back4app 대시보드 내에서 clp를 설정하여 인증된 사용자만 특정 모델에 접근할 수 있도록 하세요 이는 기본 접근 규칙을 시행하여 추가적인 보안 계층을 제공합니다 6단계 – ember js에서 사용자 인증 구현하기 사용자 계정 설정하기 back4app은 인증 처리를 위해 parse 사용자 모델을 활용합니다 ember js 애플리케이션에서 api 호출을 통해 사용자 가입 및 로그인을 관리하는 서비스를 생성할 수 있습니다 예를 들어, 인증 서비스( app/services/auth js )를 생성합니다 import service from '@ember/service'; export default class authservice extends service { async register(username, password, email) { try { let response = await fetch('https //parseapi back4app com/users', { method 'post', headers { 'x parse application id' 'your application id', 'x parse rest api key' 'your rest api key', 'content type' 'application/json' }, body json stringify({ username, password, email }) }); let result = await response json(); console log('user registered successfully ', result); } catch (error) { console error('registration error ', error); } } async login(username, password) { try { let response = await fetch(`https //parseapi back4app com/login?username=${username}\&password=${password}`, { method 'get', headers { 'x parse application id' 'your application id', 'x parse rest api key' 'your rest api key' } }); let result = await response json(); console log('user logged in ', result); } catch (error) { console error('login error ', error); } } } 이 서비스는 세션 관리, 비밀번호 재설정 및 기타 인증 관련 작업을 처리하기 위해 라우트나 컴포넌트에 주입될 수 있습니다 7단계 – ember js 애플리케이션 배포 back4app은 다양한 배포 전략을 지원합니다 docker 컨테이너화와 같은 방법을 사용하여 ember js 애플리케이션을 배포할 수 있습니다 7 1 엠버 애플리케이션 구축하기 애플리케이션 구축하기 터미널에서 다음 명령어를 실행하세요 ember build environment=production 출력 확인하기 dist/ 폴더에 프로덕션 준비가 완료된 자산이 포함되어 있는지 확인하세요 7 2 프로젝트 구조 개요 전형적인 ember js 프로젝트는 다음과 같이 구성될 수 있습니다 basic crud app ember/ \| app/ \| | adapters/ \| | | application js \| | models/ \| | | item js \| | | user js \| | routes/ \| | | items js \| | services/ \| | auth js \| config/ \| | environment js \| public/ \| tests/ \| ember cli build js \| package json \| readme md 7 3 엠버 애플리케이션 도커화하기 컨테이너화된 배포를 선호하는 경우, 프로젝트 루트에 dockerfile 을 포함하세요 \# use an official node js image as the base from node 16 alpine \# set the working directory workdir /app \# copy package files and install dependencies copy package json / run npm install \# copy the rest of the application code copy \# build the ember application run npm run build environment=production \# use a lightweight web server to serve static files from nginx\ stable alpine copy from=0 /app/dist /usr/share/nginx/html expose 80 cmd \["nginx", " g", "daemon off;"] 7 4 back4app 웹 배포를 통한 배포 github 리포지토리 연결하기 github에 엠버 js 프로젝트를 호스팅하세요 배포 설정 구성하기 back4app 대시보드에서 웹 배포 , 리포지토리(예 basic crud app ember )를 연결하고 원하는 브랜치를 선택하세요 빌드 명령 설정하기 빌드 명령을 정의하세요(예 ember build environment=production ) 및 출력 디렉토리를 지정하세요 앱 배포하기 배포 를 클릭하고 앱이 라이브될 때까지 로그를 모니터링하세요 8단계 – 결론 및 다음 단계 잘했어요! 이제 back4app과 통합된 ember js 기반 crud 애플리케이션을 구축했습니다 이 튜토리얼에서는 basic crud app ember 이라는 프로젝트를 설정하고, 아이템과 사용자에 대한 모델을 설계하며, back4app 관리 앱을 통해 백엔드를 관리했습니다 또한 api 호출을 사용하여 ember js 앱을 연결하고 강력한 보안 관행을 구현했습니다 다음 단계 애플리케이션 향상 고급 검색 기능, 상세 보기 또는 실시간 업데이트와 같은 기능을 추가하는 것을 고려해 보세요 백엔드 기능 확장 클라우드 기능을 탐색하거나, 서드파티 api를 통합하거나, 역할 기반 접근 제어를 설정해 보세요 이해도 심화 더 많은 고급 주제를 위해 back4app 문서 https //www back4app com/docs 및 기타 ember js 리소스를 방문하세요 코딩을 즐기고 ember js와 함께하는 여정에 행운이 있기를 바랍니다!