Skip to content

syukronarie/bipi

Repository files navigation

Bipi: a barebone CRUD GraphQL backend

BIPI - a barebone CRUD GraphQL backend

This is a barebone CRUD GraphQL backend - By M Arie Syukron

See hosted project : https://bipi-chi.vercel.app/graphql

Project Purpose

This is a project barebone CRUD GraphQL backend, the URS here #1 that the project has already met all the functionality requirements and has one enhancement in #35.

See the Backend project

Features

  • Clean separation between model, service, repo, resolver, and typedef
  • HTTP handler is really convenient since it uses GraphQL
  • Using Airbnb code convention (style guide)
  • Extensible
  • Minimal dependencies
  • No ORM, instead using query builder Knexjs (keep it simple)

Tools

  • React v18
  • Apollo Server Graphql
  • Expressjs
  • Knexjs
  • PostgreSQL
  • Logger (morgan & winston)
  • Turbo repo (Monorepo architecture)
  • Babel
  • Husky
  • Eslint
  • Commit lint
  • Others library

See the Code without Clone the repo

  • Press . 'keyboard shortcut then will bring it into VSCode web

HOW TO RUN

Install all dependency

npm i

Backend Service

Before doing all steps, please change the directory

cd bipi-svc

Create the environment first, regarding the schema, please refer to the matrix below

Environment name Used for
.env.example example schema
.env.development development mode
.env production mode

Create table schema using PostgreSQL

Run the Backend in Development mode

npm run dev

Build the Backend to run Production mode

npm run build

Run in Production mode

npm run start

OTHER FEATURE

TODO

  • Create the Frontend and Integrate it.