waynegibson / project-monorepo

This monorepo is used to mock, test and implement nodejs projects.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

project-monorepro

This monorepo is used to mock, test and implement nodejs projects. It uses pnpm as the package mananger.

Apps

  • @project/cdk-workmail-export
  • @project/marketing-website

Packages

  • @project/tsconfig
  • @project/eslint-config-antfu
  • @project/prisma-orm

Installation

To do the initial install run -

pnpm install

then build apps and packages run -

pnpm build

Database

We use Prisma to manage & access our database. As such you will need a database for this project, either locally or hosted in the cloud.

To make this process easier, we offer a compose.yml file to deploy a Postgres server locally with a new database named amce (To change this update the POSTGRES_DB environment variable in the compose.yml file and also the .env file):

docker-compose up -d

Once deployed you will need to copy the .env.example file to .env in order for Prisma to have a DATABASE_URL environment variable to access the database.

cp .env.example .env

To add the necessary tables to your databse, you need to create and deploy the prisma schema migrations. This can be done using Prisma Migrate.

Run this command when working in development mode.

pnpm db:migrate

then seed the database with dummy data.

pnpm db:seed

General commands

Upgrade packages

pnpm upgrade --latest
pnpm upgrade --latest --filter @project/eslint-config-antfu
pnpm upgrade --latest --filter @project/marketing-website
pnpm upgrade --latest --filter @project/prisma-orm

Server process

To kill a server process after the server was left running when the terminal is closed.

npx kill-port --port <NUMBER>

or to kill multiple ports

npx kill-port --port <NUMBER>,<NUMBER>,<NUMBER>

Contributors

License

The project is distributed under the MIT license.

About

This monorepo is used to mock, test and implement nodejs projects.

License:MIT License


Languages

Language:TypeScript 58.2%Language:Vue 40.9%Language:JavaScript 0.8%