Skip to content

jaocfilho/odyssey

Repository files navigation

Welcome to my odyssey

This is my personal monorepo built with turborepo. All my work is built here, so I can share and reuse code across all my projects.

Feel free to use it as an inspiration or source of knowledge for yourself. Also, feel free to contact me if you are interested in my work. I'm always open to amazing ideas.

What's inside?

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

Apps and Packages

  • workshop: built with Storybook to test the components from cosmic-ui
  • intellisync-client: built with Next.js 13, this repository has the source code for the IntellisyncAI frontend.
  • intellisync-server: built with Supabase, this repository has the source code for the IntellisyncAI backend.
  • cosmic-ui: a React component library built with Tailwind shared by all apps.
  • eslint-config-custom: eslint configurations (includes eslint-config-next and eslint-config-prettier)
  • tsconfig: tsconfig.jsons used throughout the monorepo

And many more utilities packages.

Each package/app is 100% TypeScript and tested with Vitest

Apps in production

Getting Started

This repository is built on top of devcontainers. To get started, you need to have Docker installed on your machine.

After that, inside vscode you can open the command palette and run Remote-Containers: Reopen in Container.

All the necessary dependencies will be installed and you will be ready to go.

Repositories filters

All the following command can be applied to specific subsets of packages. You can read more about it here.

But the most common filters already have a shortcut:

  • intell-client: filter for @intellisync/client
  • intell-server: filter for @intellisync/server
  • ui: filter for cosmic-ui
  • workshop: filter for workshop
  • turboflux: filter for @turboflux/client

Build

To build all apps and packages, run the following command:

pnpm run build

Develop

To develop all apps and packages, run the following command:

pnpm run dev

Testing

To test all apps and packages, run the following command:

pnpm run test

Most packages and apps also have a test:watch script that you can run to watch for changes and run the tests automatically.