Skip to content

kamp-us/monorepo

Folders and files

NameName
Last commit message
Last commit date
Dec 27, 2023
Jul 30, 2023
Jan 9, 2024
Jun 29, 2023
Jun 21, 2024
Dec 28, 2023
Dec 30, 2023
Apr 23, 2022
Dec 8, 2023
Dec 7, 2023
Jul 30, 2023
Jun 20, 2023
Aug 8, 2023
Jun 26, 2023
Dec 7, 2023
Dec 30, 2023
Dec 30, 2023
Jun 25, 2023
Aug 4, 2023
Dec 28, 2023

Repository files navigation

@kampus/monorepo

kamp.us web projects & packages

IMPORTANT NOTE

This repository is under heavy development, if you want to contribute either go through package.json file of each workspace and start familiarizing yourself with the technologies we are using or join our discord server and say hi to us at #kampus-projects channel.

Getting started

1. Cloning the project

  • Fork kamp-us/monorepo under your personal account.
    • eg: usirin/monorepo
  • Clone the project to your local computer:
# Download Repository
git clone git@github.com:kamp-us/monorepo.git
# Move into repository
cd monorepo
  • Install dependencies.
npm ci

2. Modifying hosts file

127.0.0.1 localhost.kamp.us
127.0.0.1 pano.localhost.kamp.us
127.0.0.1 sozluk.localhost.kamp.us
127.0.0.1 gql.localhost.kamp.us

3. Setting up .env files

  • Duplicate .env.example files and rename them as .env in the following folders: db/prisma, apps/gql, apps/kampus.

4. Prisma Setup and Database Configuration

  • Move to db/prisma folder.
cd db/prisma
  • Start the image. (You should have docker installed.)
docker-compose up -d
  • Generate artifacts. (e.g. Prisma Client)
npm run prisma:generate
  • Push the Prisma schema state to the database.
npm run prisma:push
  • Run seed command to fill database with demo data.
npm run prisma:seed

5. Running dev servers

  • Run the command below at the root folder.
# Runs "gql" and "kampus" apps so the platform can be alive with 1 command.
npm run web
  • Now you can go to localhost.kamp.us:3000 to see it live. 🚀
# Runs all "dev" commands on each package inside the workspace
npm run dev
# Runs only "gql" server so backend work can be done separately.
npm run gql

Structure

  • /apps: services & apps
  • /db: packages that is relevant to database
  • /config: packages that is relevant to configuration
  • /packages: internal (and maybe external in the future) npm packages

These folders are registered as workspaces in package.json

Use Correct Node Version

If you haven't already install Volta, you can install install it with:

curl https://get.volta.sh | bash