https://github.com/namesmt/3d-test
https://github.com/namesmt/3d-test
Last synced: over 1 year ago
JSON representation
- Host: GitHub
- URL: https://github.com/namesmt/3d-test
- Owner: NamesMT
- Archived: true
- Created: 2024-05-05T20:17:34.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2024-07-13T23:58:00.000Z (almost 2 years ago)
- Last Synced: 2025-02-13T21:39:13.432Z (over 1 year ago)
- Language: TypeScript
- Homepage: https://namesmt.github.io/3d-test/
- Size: 3.68 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# starter-fullstack
This is a starter template to kick-start your `Nuxt` full-stack project
## What's inside?
β© This template is powered by [Turborepo](https://turbo.build/repo).
π Out-of-the-box, this repo is configured for a static `frontend` Nuxt app, and a `backend` Hono app that will be the main API, to optimize on cost and simplicity.
π©οΈ Utilizing [SST Ion](https://ion.sst.dev/) for Infrastructure-as-Code, with powerful [Live](https://ion.sst.dev/docs/live/) development.
SST is 100% opt-in, by using `sst` CLI commands yourself, like `sst dev`,
simply remove `sst` dependency and `sst.config.ts` if you want to use another solution.
*currently only `backend` app is configured, which will deploy a Lambda with Function URL enabled*
π Comes with fully-configured [**Kinde**](https://kinde.com/) [typescript-sdk](https://github.com/kinde-oss/kinde-typescript-sdk), see: `/apps/backend/api/auth`
*Add your env variables, activate the auth routes, profit$*
### Apps and Packages
- `frontend`: a [Nuxt](https://nuxt.com/) app, configured same as [starter-nuxt](https://github.com/NamesMT/starter-nuxt).
- In development, `/api/*` routes is proxied to the `backendUrl`.
- The `rpcApi` plugin will call the `/api/*` proxy if they're on the same domain (e.g: 127.0.0.1)
- > this mimics a production environment where the static frontend and the backend lives on the same domain at /api, which is the most efficient configuration for Cloudfront + Lambda Function Url
- If the `frontend` and `backend` are on different domains then the backend will be called directly without proxy.
- `backend`: a [Honoπ₯](https://hono.dev/) app.
- `@local/common`: a shared library that can contain constants, functions, types shared across all apps.
- `@local/common-vue`: a shared library that can contain components, constants, functions, types shared across vue-based apps.
- `tsconfig`: `tsconfig.json`s used throughout the monorepo.
Each package/app is 100% [TypeScript](https://www.typescriptlang.org/).
### Utilities
This Turborepo has some additional tools already setup for you:
- [TypeScript](https://www.typescriptlang.org/) for static type checking
- [ESLint](https://eslint.org/) for code linting
### 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`
### Remote Caching
Turborepo can use a technique known as [Remote Caching](https://turbo.build/repo/docs/core-concepts/remote-caching) to share cache artifacts across machines, enabling you to share build caches with your team and CI/CD pipelines.
By default, Turborepo will cache locally. To enable Remote Caching you will need an account with Vercel. If you don't have an account you can [create one](https://vercel.com/signup), then enter the following commands:
```
npx turbo login
```
This will authenticate the Turborepo CLI with your [Vercel account](https://vercel.com/docs/concepts/personal-accounts/overview).
Next, you can link your Turborepo to your Remote Cache by running the following command from the root of your Turborepo:
```
npx turbo link
```
## Useful Links
Learn more about the power of Turborepo:
- [Tasks](https://turbo.build/repo/docs/core-concepts/monorepos/running-tasks)
- [Caching](https://turbo.build/repo/docs/core-concepts/caching)
- [Remote Caching](https://turbo.build/repo/docs/core-concepts/remote-caching)
- [Filtering](https://turbo.build/repo/docs/core-concepts/monorepos/filtering)
- [Configuration Options](https://turbo.build/repo/docs/reference/configuration)
- [CLI Usage](https://turbo.build/repo/docs/reference/command-line-reference)