{"id":21604470,"url":"https://github.com/ivanms1/habanero","last_synced_at":"2025-04-11T03:02:00.139Z","repository":{"id":65259216,"uuid":"585622267","full_name":"ivanms1/habanero","owner":"ivanms1","description":"Project Habanero","archived":false,"fork":false,"pushed_at":"2023-03-25T10:39:18.000Z","size":1385,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-25T00:42:33.339Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ivanms1.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2023-01-05T16:35:06.000Z","updated_at":"2023-03-05T13:27:09.000Z","dependencies_parsed_at":"2023-02-12T08:15:55.258Z","dependency_job_id":null,"html_url":"https://github.com/ivanms1/habanero","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":"ivanms1/turborepo-trpc-next-nodejs-template","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ivanms1%2Fhabanero","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ivanms1%2Fhabanero/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ivanms1%2Fhabanero/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ivanms1%2Fhabanero/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ivanms1","download_url":"https://codeload.github.com/ivanms1/habanero/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248333605,"owners_count":21086199,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-24T19:23:00.477Z","updated_at":"2025-04-11T03:02:00.116Z","avatar_url":"https://github.com/ivanms1.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Habanero\n\n## Technology stack\n\n- Backend: [Node.js](https://nodejs.org/en/), [Express](https://expressjs.com/), [tRPC](https://trpc.io/) and [Prisma](https://www.prisma.io/)\n- Frontend: [React.js](https://reactjs.org/), [Next.js](https://nextjs.org/) and [tRPC](https://trpc.io/)\n\n## Monorepo Setup\n\n- `apps/api`: [Express](https://expressjs.com/) app that hosts the [tRPC](https://trpc.io/) server.\n- `apps/web`: Main app powered by [Next.js](https://nextjs.org).\n- `apps/admin`: [Next.js](https://nextjs.org) app for admin purposes.\n- `packages/ui`: Internal component library used by both `web` and `admin` applications.\n- `packages/trpc`: Libary that exports [tRPC](https://trpc.io/) router and context for the apps in the monorepo to consume.\n- `packages/auth`: Libary that exports [NextAuth.js](https://next-auth.js.org/) configuration for the apps in the monorepo to consume.\n- `packages/config`: Libary that contains custom [eslint](https://eslint.org/) rules and the [tailwindcss](https://tailwindcss.com/) config for the monorepo.\n- `packages/tsconfig`: Libary that contains custom [tsconfig](https://www.typescriptlang.org/tsconfig) rules for the monorepo.\n\n## Requirements\n\n- **Yarn**\n\nThis repository uses [Yarn](https://classic.yarnpkg.com/lang/en/) as a package manager.\n\n- **Node.js**\n\nThis repository uses [Node.js](https://nodejs.org/en/) as a runtime environment. Version 18.0.0 or higher is required.\n\n- **PostgreSQL Database**\n\n  To run the backend, a connection to a database is needed. The easiest way to run a Postgres DB locally is via [Docker](https://www.docker.com/).\n\n  Once you have Docker installed run this command:\n\n  ```\n  docker run --detach --publish 5432:5432 -e POSTGRES_PASSWORD=postgres --name habanero postgres:10.12\n  ```\n\n## Running the app\n\n- To install project deps, run\n\n  ```\n  yarn app:install\n  ```\n\n- Initialize the database or sync the database schema\n\n  ```\n  yarn db:push\n  ```\n\n- Generate the pr the prismas client and types\n\n  ```\n  yarn db:generate\n  ```\n\n- Run app\n\n  - Start the backend\n\n    ```\n    yarn dev:api\n    ```\n\n  - Start backend + web\n\n    ```\n    yarn dev:web\n    ```\n\n  - Start backend + admin\n\n    ```\n    yarn dev:admin\n    ```\n\n  - Start backed + admin + web\n    ```\n    yarn dev\n    ```\n\n## Running storybook\n\n- To run storybook, run\n\n  ```\n  yarn storybook\n  ```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fivanms1%2Fhabanero","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fivanms1%2Fhabanero","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fivanms1%2Fhabanero/lists"}