An open API service indexing awesome lists of open source software.

https://github.com/servrox/1337-turbo-starter

1337 Turbo Starter is a modern full-stack Web3 monorepo powered by Turborepo, integrating the official Aptos DApp boilerplate.
https://github.com/servrox/1337-turbo-starter

Last synced: about 1 year ago
JSON representation

1337 Turbo Starter is a modern full-stack Web3 monorepo powered by Turborepo, integrating the official Aptos DApp boilerplate.

Awesome Lists containing this project

README

          

# 1337 Turbo Starter โ€“ Modern Web3 Development Stack


Bun
Turbo
Next.js
Tailwind


Aptos
Move

---

## ๐Ÿš€ Overview

**1337 Turbo Starter** is a modern full-stack Web3 monorepo powered by [Turborepo](https://turbo.build/), integrating the official [Aptos DApp boilerplate](https://learn.aptoslabs.com/en/dapp-templates/boilerplate-template).

It runs:

- โšก๏ธ Bun for ultra-fast performance
- ๐ŸŽจ Tailwind CSS + shadcn/ui for polished UIs
- ๐Ÿ”— Aptos & Move for next level Web3
- ๐Ÿงฑ Shared configs & UI across apps
- ๐Ÿฆช Developer-first tooling and monorepo structure

---

## ๐Ÿงฐ Tech Stack

- **Bun** โ€“ Ultra-fast JS runtime & package manager
- **Turborepo** โ€“ High-performance monorepo build system
- **Next.js** โ€“ React framework for production apps
- **Tailwind CSS** โ€“ Utility-first CSS framework
- **Aptos** โ€“ Layer 1 blockchain platform
- **Move** โ€“ Safe, resource-oriented smart contract language

---

## ๐Ÿ“ Project Structure

```txt
.
โ”œโ”€โ”€ apps/
โ”‚ โ”œโ”€โ”€ aptos-boilerplate/ # Aptos DApp implementation
โ”‚ โ””โ”€โ”€ landing-page/ # Landing page application
โ”œโ”€โ”€ packages/
โ”‚ โ”œโ”€โ”€ contract/ # Move smart contracts
โ”‚ โ”œโ”€โ”€ ui/ # Shared UI components
โ”‚ โ”œโ”€โ”€ typescript-config/ # Shared TypeScript settings
โ”‚ โ””โ”€โ”€ eslint-config/ # Shared ESLint rules
โ””โ”€โ”€ .vscode/ # VS Code configuration
```

๐Ÿ“ฆ **Shared packages** ensure consistent styling, types, and components across all applications.

---

## โš™๏ธ Getting Started

### Prerequisites

- [Bun](https://bun.sh) โ‰ฅ 1.2.5
- [VS Code](https://code.visualstudio.com) (recommended)

### ๐Ÿงช Installation

```bash
git clone git@github.com:servrox/1337-turbo-starter.git
cd 1337-turbo-starter
bun install
```

### ๐Ÿ” Environment Setup

**For the Aptos DApp (`apps/aptos-boilerplate/.env`):**

```env
# Get your API key from https://build.aptoslabs.com
NEXT_PUBLIC_APTOS_API_KEY=your_api_key_here
```

**For the Move contract (`packages/contract/.env`):**

```env
NEXT_MODULE_PUBLISHER_ACCOUNT_PRIVATE_KEY=your_private_key_here
NEXT_PUBLIC_MODULE_ADDRESS=your_module_address_here
```

๐Ÿ“œ `NEXT_MODULE_PUBLISHER_ACCOUNT_ADDRESS` will be set automatically when you run:

```bash
bun run move:publish
```

### โ–ถ๏ธ Start Dev Server

```bash
bun run dev
```

---

## ๐Ÿ“œ Scripts

| Script | Description |
|--------------------------------|------------------------------------------------|
| `bun run build` | Build all apps and packages |
| `bun run build:aptos-boilerplate` | Build only the Aptos boilerplate app |
| `bun run build:landing-page` | Build only the landing page |
| `bun run dev` | Start all development servers |
| `bun run dev:aptos-boilerplate`| Start Aptos boilerplate development server |
| `bun run dev:landing-page` | Start landing page development server |
| `bun run lint` | Run ESLint across the repo |
| `bun run check-types` | Type-check all packages and apps |
| `bun run format` | Format codebase with Prettier |

---

## โœจ Bonus

- โšก๏ธ **Fast Dev Workflow** with Bun and Turborepo
- ๐ŸŽจ **4-way theme switcher** select between banana, dark, light and system
- ๐Ÿ“ฆ **Shared UI Components** via `@repo/ui`
- ๐Ÿง  **Developer Experience**: Prettier, ESLint, TypeScript, and VS Code settings out-of-the-box
- ๐Ÿ’„ **Tailwind v4**: full tailwind v4 style with css only configs
- ๐Ÿ“ฑ **shadcn/ui monorepo** using shadcn/ui components and CLI in a [monorepo](https://ui.shadcn.com/docs/monorepo#requirements)
- ๐ŸŒ **create-aptos-dapp** matched Aptos Move integration with the official AptosLabs boilerplate

---

## ๐Ÿ—ญ Development Guidelines

### Required Environment Variables

| Location | Variable | Description |
|----------------------------|------------------------------------------------|-----------------------------------------------------------|
| `apps/aptos-boilerplate/.env` | `NEXT_PUBLIC_APP_NETWORK` | The network your module is deployed to |
| `apps/aptos-boilerplate/.env` | `NEXT_PUBLIC_MODULE_ADDRESS` | **Auto-filled** by `move:publish` script |
| `apps/aptos-boilerplate/.env` | `NEXT_PUBLIC_APTOS_API_KEY` | Your Aptos API key from [Aptos Labs](https://build.aptoslabs.com) |
| `packages/contract/.env` | `NEXT_PUBLIC_APP_NETWORK` | The network you want to deploy your module |
| `packages/contract/.env` | `NEXT_MODULE_PUBLISHER_ACCOUNT_ADDRESS` | Account address used for module publishing |
| `packages/contract/.env` | `NEXT_PUBLIC_MODULE_ADDRESS` | **Auto-filled** by `move:publish` script |
| `packages/contract/.env` | `NEXT_MODULE_PUBLISHER_ACCOUNT_PRIVATE_KEY` | Private key used for module publishing |

๐Ÿ’ก See the `.env.example` files in each package for more details.

๐Ÿ’ก If you are using the Testnet network, you will need to fund a module publisher account manually through the faucet web view on https://aptos.dev/en/network/faucet and then fill out the `NEXT_MODULE_PUBLISHER_ACCOUNT_PRIVATE_KEY` and `NEXT_MODULE_PUBLISHER_ACCOUNT_ADDRESS` in your project .env file.