startup-monorepo-fastify-phaser-colyseus-threejs
A repository about starting from scratch for monorepo, fastify, Phaser, colyseus, and threejs.
My personal website built with TypeScript, Next.js, and TailwindCSS
Welcome to my personal blog and portfolio website! This repository contains a modern Next.js application where I share my thoughts, projects, and insights.
next/og
nelsonlai.dev/
├── public/ # Static assets (images, fonts, videos)
├── src/
│ ├── app/ # Next.js app router pages
│ ├── components/ # React components
│ ├── constants/ # Application constants
│ ├── content/ # MDX blog posts and content
│ ├── contexts/ # React contexts
│ ├── db/ # Database schema and migrations
│ ├── emails/ # Email templates
│ ├── hooks/ # Custom React hooks
│ ├── i18n/ # Internationalization
│ ├── lib/ # Utility libraries
│ ├── mdx-plugins/ # Custom Rehype and Remark plugins
│ ├── orpc/ # oRPC API routes
│ ├── styles/ # Global styles
│ ├── tests/ # Unit and E2E tests
│ └── utils/ # Utility functions
├── docker-compose.yml
└── package.json
To run this project locally, you need to set up the development environment.
git clone https://github.com/nelsonlaidev/nelsonlai.dev
cd nelsonlai.dev
bun install
.env.example to .env.local and update the environment variables as needed.cp .env.example .env.local
docker compose up -d
bun db:migrate
bun db:seed
bun dev # Run the development server # or bun email:dev # Run the email preview server separately
The services will be available at the following URLs:
| Service | URL |
|---|---|
| App | localhost:3000 |
| React Email | localhost:3001 |
| Database | localhost:5432 |
| Redis | localhost:6379 |
| Redis serverless | localhost:8079 |
# Development bun dev # Start development server bun email:dev # Run email preview server # Build & Production bun run build # Build for production bun start # Start production server bun analyze # Analyze bundle size # Quality & Testing bun check # Run all quality checks (lint, typecheck, format, etc.) bun lint # Run Oxlint bun typecheck # Run TypeScript type checking bun format # Format code with Oxfmt bun knip # Find unused dependencies/exports bun test:unit # Run unit tests bun test:e2e # Run Playwright E2E tests # Database bun db:migrate # Run database migrations bun db:seed # Seed the database bun db:push # Push schema changes directly to DB bun db:reset # Reset database bun db:studio # Open Drizzle Studio
This project has been made possible thanks to the wonderful open-source community. Special thanks to:
This project also uses/adapts the following open-source projects:
The following projects were referenced for inspiration:
If you find this project helpful, consider supporting me by sponsoring the project.
This project is open source and available under the MIT License.
Made with ❤️ in Hong Kong
more like this
A repository about starting from scratch for monorepo, fastify, Phaser, colyseus, and threejs.
search projects, people, and tags