Skip to content

SixdegreeLab/Lentics

Repository files navigation

Lentics

A Turborepo with Lens data Analytics (postgres database) + Next.js powered by docker and docker-compose.

What's inside?

This turborepo uses Yarn as a package manager. It includes the following packages/apps:

Apps and Packages

  • api: backend
  • web: frontend
  • data: constants shared by apps
  • db: sequelize models shared by apps
  • ui: a stub React component library shared by apps
  • eslint-config-custom: eslint configurations (includes eslint-config-next and eslint-config-prettier)
  • tsconfig: tsconfig.jsons used throughout the monorepo

Prerequisites

Please make sure you have Docker and docker-compose installed in your machine. Please refer here to install them :

  1. Docker installation
  2. Docker compose installation

Getting Started

  1. Clone this repository and change directory:
git clone git@github.com:codingtalent/lentics.git
  1. Setup web/api configuration (.env). Create a .env file which stores postgres configuration, based on the .env.example file:
# lentics
cd apps/web
cp .env.example .env
cd ../api
cp .env.example .env
  1. Prepare database files
# lentics
cd db
unzip db-v0.0.1.zip
  1. To develop all apps and packages, run the following command:
# lentics
docker-compose up -d
  1. Default access URL
http://localhost: 3000  #web
http://localhost: 3001  #api
  1. To build all apps and packages, run the following commands:
# lentics
docker exec -it lentics-turbo-1 /bin/sh

Then run:

yarn build

To avoid build failures, please stash the changes for package.json before build new container. Please also submit new files in the npm-packages-offline-cache directory to git if package.json has new dependencies.

Useful Links