본문 바로가기
제리의 네발개발

포켓 베이스(Pocket Base) 빠르게 입문하기(CRUD)

by 제리 (Jerry) 2024. 1. 28.

유튜브를 보다가, 노마드 코더에서 포켓 베이스를 소개하는 영상을 봤다.

 

왐마, 영상 보자마자 이거면은 백엔드 개발하는거 진짜 간단하게 하고 프론트 기반의 MVP를 빠르고 편리하게 바로바로 만들어 볼 수 있겠다는 생각에 바로 체험해보려고 한다.

1. 설치 & 실행

https://pocketbase.io/docs/

 

PocketBase - Open Source backend in 1 file

Open Source backend in 1 file with realtime database, authentication, file storage and admin dashboard

pocketbase.io

우선 설치는 여기 들어와서 다운로드 하면 된다.

본인의 운영체제에 맞는 것을 다운로드 하자.

다운로드 후 압축을 풀면 위와 같은 파일들이 나오며,

터미널에서 pocketbase server 명령어를 통해 실행시킨다.

 

http://127.0.0.1:8090/_

위 주소로 접근하게 되면, 위와 같은 화면이 나오며 계정을 만듦과 동시에 로그인하면

서버 실행 성공!

 

2. CRUD

우선 위 로그인 직후 화면에서 보이듯이 users 콜렉션이 기본적으로 생성되어 있는데,

이 콜렉션을 가지고 간단히 설명해보려구 한다.

 

2.1 Create

일단 생성부터 진행해보려고 한다!

이미 포켓 베이스의 UI에 존재하는 [New record] 버튼을 눌러서 진행해도 되지만,

아무래도 api쓸려고 만들었으니 postman 가지고 작업을 진행해보려 한다.

 

 

상단의 api preview를 클릭하면, 어떻게 현재 컬렉션의 api를 사용 할 수 있는지 설명이 자세히 나온다.

 

기본적으로 api는 주소가

 

주소값/api/collections/콜렉션 이름/records로 이루어져있다.

별도의 auth값 없이 api를 호출하면

이렇게 user에 잘 들어온다. 룰루

 

2.2 Read(View)

 

userlist를 보기 위해 api preview에 있는 내용대로 api를 쏘게 된다면

아래처럼 아무런 값을 얻지 못한다.

뭔가 신호는 정상적으로 간거고, 200 ok도 등장하는데 데이터를 제대로 불러 오지 못한다.

심지어 오른쪽 사진과 같이 로그도 정상적으로 찍혀있다.

 

한참을 헛짓거리하다가, 해답을 찾았다.

콜렉션의 api 룰을 보면, create 이외에는 requset auth id가 필요하다.

흐엉. 그러면 api로 호출할땐 어떻게 하냐면

이런식으로 본인의 토큰을 적어주면 된다.

 

이렇게 해서 조회를 진행하면

정상적인 데이터 조회가 가능해진다.

 

2.3 Update

사실 2.2까지 했으면 아래는 볼필요도 없이 쉽다.

직접 문서를 보면서 해보는걸 추천하지만, 일단 설명을 적어놓는당.

 

주소값/api/collections/콜렉션 이름/records/id값 을 patch로 호출하면 끝!

 

2.4 Delete

CRUD 체험이 벌써 끝난다.

status가 204 코드가 나오길래 무슨일인지 싶어서 확인해보았는데,

 

아항 지식이 늘었다.

 

사실 몰라서 다시 유저 만들고 요청하고, 지우고를 진행했다.

 

3. 사용 후기

일단 포켓베이스 진짜 간편하고 가볍다.

go언어로 만들어져서 하나의 파일? 서버만 가지고도 엄청난 수의 연산처리가 가능하다고 한다.

 

나는 프론트 위주로 공부해서, 항상 사이드 프로젝트를 혼자 할때 api짜려고 express 설정하고 뭐 하고 뭐하고 해서

하나하나 만들었어야했는데 이렇게 편리하다닝 기분이 좋댱

 

default 속성을 지정해서 콜렉션을 금방 만드는 것도 좋고,

관계형을 간단히 이을 수 있는 것도 좋아서 현재 진행하고 있는 자그마한 프로젝트에 당장에 실험을 해보고 싶을 정도다!

 

물론 시간이 없지만!

 

즐거웠땅