Skip to content
/ corebase Public template

Modern, fully-typed, react-graphql-postgres codebase for building web-apps.

Notifications You must be signed in to change notification settings

wooolfgang/corebase

Repository files navigation

Corebase

Corebase is a graphql-first code template to bootstrap development of web applications. It scaffolds type definitions using Nexus that allows you to create fully-typed applications from back-to-front with Typescript. It comes with a default authentication implementation, and uses modern technologies such as NextJS, Prisma, and TailwindCSS which offers pleasant developer experience. Lastly, ESLint and Prettier defaults are initialized in order for you to be productively coding right off the bat!

Technologies:

  • NextJS (React Framework for Production)
  • Prisma (Next-generation Node.js and TypeScript ORM)
  • TailwindCSS ( Utility-first CSS framework packed)
  • Typescript (Typed JavaScript at Any Scale)
  • Nexus ( Declarative, Code-First GraphQL Schemas for JavaScript/TypeScript)

Requirements

Initializing the project

Run these commands in ascending order. (Please make sure npx is installed)

  1. cp .env.example .env
  2. cd db && docker-compose up -d && cd ..
  3. npx prisma migrate dev (re-run cd db && docker-compose up -d && cd .. before if prisma migration fails)

Getting started

Command Action
npm install Installs dependencies
npm run db Runs your postgres docker image (db container)
npm run dev Starts local dev server at localhost:3000

Project Structure

Codebase Description
/app Frontend
/db Postgres Docker Image
/generated Generated Graphql Schema & Typescript Definitions
/pages/api/* NextJS API
/pages/* NextJS Page Routes
/prisma Prisma
/server Graphql Server

cd prisma && npx prisma studio

Documentation

For advanced documentation, please refer to the following

References:

Prisma

Authentication

About

Modern, fully-typed, react-graphql-postgres codebase for building web-apps.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published