Quickstarters
CRUD Samples
How to Build CRUD App with JavaScript?
34 분
개요 이 튜토리얼에서는 javascript를 사용하여 완전한 crud(생성, 읽기, 업데이트, 삭제) 애플리케이션을 구축하는 방법을 배웁니다 우리는 back4app을 활용하여 백엔드 데이터를 손쉽게 관리할 것입니다 이 가이드는 back4app 프로젝트 구성부터 javascript 애플리케이션을 parse javascript sdk 또는 rest api와 통합하는 필수 crud 작업을 다룹니다 먼저, basic crud app javascript 라는 제목의 back4app에서 프로젝트를 설정합니다 이는 강력한 백엔드 솔루션을 제공합니다 그런 다음, 애플리케이션의 요구 사항에 맞게 데이터 스키마를 정의합니다 이는 수동으로 하거나 back4app의 ai 에이전트의 도움을 받을 수 있습니다 다음으로, 사용자 친화적인 back4app 관리 앱을 통해 백엔드를 관리하여 간단한 드래그 앤 드롭 인터페이스를 통해 데이터 작업을 수행할 수 있습니다 마지막으로, javascript 애플리케이션을 back4app에 연결하여 안전한 사용자 인증 및 기본 crud 기능을 구현합니다 이 가이드를 끝내면, 모든 기본 crud 작업을 수행할 수 있는 보안 액세스 제어가 가능한 프로덕션 준비 완료 javascript 애플리케이션을 구축하게 됩니다 기억해야 할 주요 사항 확장 가능한 백엔드로 javascript 기반 crud 앱을 개발하는 방법을 마스터하세요 백엔드를 구조화하고 javascript 코드와 원활하게 통합하는 방법을 이해하세요 back4app의 관리 앱을 활용하여 데이터 조작 및 crud 작업을 쉽게 수행하는 방법을 배우세요 docker를 이용한 컨테이너화 등 배포 옵션을 탐색하여 javascript 애플리케이션을 시작하세요 전제 조건 시작하기 전에 다음을 확인하세요 구성된 프로젝트가 있는 back4app 계정입니다 도움이 필요하신가요? back4app 시작하기 https //www back4app com/docs/get started/new parse app 를 방문하세요 javascript 개발 환경입니다 visual studio code 또는 node js(버전 14 이상)와 함께 선호하는 다른 편집기를 사용할 수 있습니다 javascript, 현대 프레임워크 및 rest api에 대한 기본 지식입니다 필요한 경우 javascript 문서 https //developer mozilla org/en us/docs/web/javascript 를 참조하세요 1단계 – 프로젝트 초기화 새 back4app 프로젝트 설정하기 back4app 계정에 로그인하세요 대시보드에서 “새 앱” 버튼을 클릭하세요 프로젝트 이름을 입력하세요 basic crud app javascript 설정 과정을 완료하세요 새 프로젝트 만들기 프로젝트가 생성되면 대시보드에 나타나며, 백엔드 구성의 기초를 마련합니다 2단계 – 데이터 스키마 만들기 데이터 구조 설계 우리의 crud 앱을 위해 back4app에서 두 개의 주요 클래스(컬렉션)를 설정할 것입니다 이 클래스와 그 필드는 필요한 crud 작업을 처리하는 데 필수적입니다 1\ 항목 수집 이 수집은 각 항목에 대한 세부 정보를 저장합니다 필드 유형 세부사항 id 객체 id 자동 생성된 고유 식별자 제목 문자열 항목의 이름 설명 문자열 항목에 대한 간략한 요약 생성일 날짜 항목 생성의 타임스탬프 업데이트됨 날짜 최신 업데이트의 타임스탬프 2\ 사용자 수집 이 수집은 사용자 자격 증명 및 인증 세부 정보를 처리합니다 필드 유형 세부사항 id 객체 id 자동으로 생성된 고유 id 사용자 이름 문자열 사용자를 위한 고유 식별자 이메일 문자열 사용자의 고유 이메일 주소 비밀번호 해시 문자열 안전한 인증을 위한 해시된 비밀번호 생성일 날짜 계정 생성 타임스탬프 업데이트됨 날짜 마지막 계정 업데이트 타임스탬프 이러한 클래스와 필드를 back4app 대시보드에서 직접 생성할 수 있습니다 새 클래스 만들기 열을 추가하려면 유형을 선택하고, 필드 이름을 지정하고, 기본값을 할당하고, 필수 옵션을 설정하면 됩니다 열 만들기 back4app의 ai 에이전트를 사용한 스키마 생성 back4app ai 에이전트는 설명을 기반으로 데이터 모델을 자동 생성하여 스키마 생성을 간소화합니다 이 기능은 프로젝트 설정을 가속화하고 스키마가 crud 요구 사항에 맞도록 보장합니다 ai 에이전트 활용 방법 ai 에이전트 열기 back4app 대시보드에 로그인하고 프로젝트 설정에서 ai 에이전트를 찾습니다 스키마 설명하기 필요한 컬렉션과 필드에 대한 자세한 설명을 입력합니다 검토 및 확인 처리 후 ai 에이전트가 제안된 스키마를 표시합니다 검토하고 적용하려면 확인합니다 샘플 설명 create the following collections in my back4app project 1\) collection items \ fields \ id objectid (auto generated) \ title string \ description string \ createdat date (auto generated) \ updatedat date (auto updated) 2\) collection 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단계 – javascript 앱을 back4app과 연결하기 백엔드가 설정되면 다음 단계는 javascript 애플리케이션을 back4app과 통합하는 것입니다 옵션 a parse javascript sdk 활용하기 parse sdk 포함하기 npm을 사용하는 경우 다음 명령어를 실행하여 sdk를 설치합니다 npm install parse 애플리케이션에서 parse 초기화하기 초기화 파일을 만듭니다 (예 parseconfig js ) // parseconfig js import parse from 'parse'; parse initialize("your application id", "your javascript key"); parse serverurl = 'https //parseapi back4app com'; 3\ implement crud functions for example, create a module to handle item operations ```javascript // itemsservice js import parse from 'parse'; export const getitems = async () => { const query = new parse query("items"); try { const results = await query find(); return results; } catch (error) { console error("error retrieving items ", error); return \[]; } }; export const createitem = async (title, description) => { const item = parse object extend("items"); const item = new item(); item set("title", title); item set("description", description); try { await item save(); console log("item created successfully "); } catch (error) { console error("error creating item ", error); } }; export const updateitem = async (objectid, newtitle, newdescription) => { const query = new parse query("items"); try { const item = await query get(objectid); item set("title", newtitle); item set("description", newdescription); await item save(); console log("item updated successfully "); } catch (error) { console error("error updating item ", error); } }; export const deleteitem = async (objectid) => { const query = new parse query("items"); try { const item = await query get(objectid); await item destroy(); console log("item deleted successfully "); } catch (error) { console error("error deleting item ", error); } }; 옵션 b rest 또는 graphql 사용 parse sdk를 사용하지 않으려면 rest 호출을 통해 back4app과 상호작용할 수 있습니다 예를 들어, rest를 사용하여 항목을 검색하는 방법은 다음과 같습니다 import fetch from 'node fetch'; export const fetchitemsrest = async () => { try { const 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', }, }); const data = await response json(); console log("items fetched ", data); } catch (error) { console error("error fetching items via rest ", error); } }; 필요에 따라 이러한 api 호출을 javascript 모듈 내에 통합하십시오 5단계 – 백엔드 보호하기 접근 제어 구성하기 액세스 제어 목록(acl)을 설정하여 데이터의 보안을 확보하세요 예를 들어, 생성자만 접근할 수 있는 항목을 만들려면 import parse from 'parse'; export const createprivateitem = async (title, description, user) => { const item = parse object extend("items"); const item = new item(); item set("title", title); item set("description", description); const acl = new parse acl(); acl setreadaccess(user, true); acl setwriteaccess(user, true); acl setpublicreadaccess(false); acl setpublicwriteaccess(false); item setacl(acl); try { await item save(); console log("private item created successfully "); } catch (error) { console error("error creating private item ", error); } }; 클래스 수준 권한(clp) 조정하기 back4app 대시보드를 통해 컬렉션에 대한 기본 접근 규칙을 설정하여 인증된 사용자만 민감한 데이터에 접근할 수 있도록 하세요 6단계 – 사용자 인증 구현하기 사용자 계정 설정하기 back4app은 인증을 처리하기 위해 내장된 parse 사용자 클래스를 사용합니다 javascript 애플리케이션에서 사용자 등록 및 로그인을 다음과 같이 관리하세요 import parse from 'parse'; export const signupuser = async (username, password, email) => { const user = new parse user(); user set("username", username); user set("password", password); user set("email", email); try { await user signup(); console log("user registered successfully!"); } catch (error) { console error("error during sign up ", error); } }; export const loginuser = async (username, password) => { try { const user = await parse user login(username, password); console log("logged in as ", user get("username")); } catch (error) { console error("login failed ", error); } }; 이 방법은 세션 관리, 비밀번호 복구 등으로 확장할 수 있습니다 7단계 – javascript 애플리케이션 배포 back4app은 배포를 간소화합니다 docker 컨테이너화와 같은 방법을 사용하여 javascript 앱을 배포할 수 있습니다 7 1 애플리케이션 빌드하기 애플리케이션 번들하기 빌드 도구(webpack 또는 유사한 번들러와 같은)를 사용하여 코드를 컴파일합니다 빌드 확인하기 번들된 파일에 필요한 모든 모듈과 자산이 포함되어 있는지 확인합니다 7 2 프로젝트 구조 정리하기 전형적인 javascript 프로젝트 구조는 다음과 같을 수 있습니다 basic crud app javascript/ \| src/ \| | index js \| | parseconfig js \| | services/ \| | itemsservice js \| | authservice js \| public/ \| | index html \| package json \| readme md 예시 parseconfig js // parseconfig js import parse from 'parse'; parse initialize("your application id", "your javascript key"); parse serverurl = 'https //parseapi back4app com'; 7 3 javascript 앱 도커화하기 컨테이너화를 선택하면 프로젝트 루트에 dockerfile 을 포함하세요 \# use an official node js runtime as the base image from node 14 alpine \# set the working directory in the container workdir /app \# copy package files and install dependencies copy package json / run npm install \# copy the rest of the application code copy \# expose the application port (adjust if necessary) expose 3000 \# define the command to run your application cmd \["npm", "start"] 7 4 back4app 웹 배포를 통한 배포 github 리포지토리 연결 javascript 프로젝트가 github에 호스팅되어 있는지 확인하세요 배포 설정 구성 back4app 대시보드에서 웹 배포 옵션을 사용하여 리포지토리를 연결하세요 (예 basic crud app javascript ) 및 원하는 브랜치를 선택하세요 빌드 및 출력 명령 설정 빌드 명령(예 npm run build ) 및 출력 디렉토리를 지정하세요 배포 '배포'를 클릭하고 애플리케이션이 라이브로 전환될 때까지 로그를 지켜보세요 8단계 – 최종 생각 및 향후 개선 사항 축하합니다! back4app과 통합된 javascript 기반 crud 애플리케이션을 성공적으로 개발했습니다 " basic crud app javascript "라는 프로젝트를 설정하고, items 및 users 컬렉션을 구조화하며, back4app 관리 앱을 사용하여 백엔드를 관리했습니다 또한, parse sdk(또는 rest api)를 통해 javascript 애플리케이션을 연결하고 강력한 보안 조치를 구현했습니다 다음에 탐색할 내용 기능 향상 검색 필터, 상세 보기 또는 실시간 데이터 업데이트와 같은 기능을 추가하는 것을 고려해 보세요 백엔드 기능 확장 클라우드 기능, 서드파티 api 통합 또는 고급 역할 기반 접근 제어 구현을 살펴보세요 전문성 심화 back4app 문서 https //www back4app com/docs 를 방문하고 추가 튜토리얼을 탐색하여 앱을 더욱 최적화하세요 코딩을 즐기고, 고급 javascript crud 애플리케이션을 구축하는 것을 즐기세요!