The project is still under development.
This is my personal website, developed using Next.js for both the front-end and back-end, with Hono as the back-end service. All projects are managed using Turborepo.
- 🚀 Next.js 14 with App Router
- 🔥 Hono - backend services
- 📦 Monorepo - using Turborepo
- 📄 MDX - using Fumadocs for MDX components
- 📝 CMS - custom CMS for managing content
- 🎨 Tailwind CSS styles
- 🧪 Vitest - unit tests
- 🎭 Playwright - end-to-end tests
- ✍️ Husky & Lint Staged - format code before committing
- 🔒 Auth.js - authorization
- 🌧️ Drizzle - ORM
- 🗄️ Redis - for caching
- 🧠 PG vector search - AI vector search (WIP)
- ✏️ AI editor - for text generation (WIP)
- Create a new project on Vercel, select the
apps/www
(orapps/dash
) folder as the root directory:
- Overwrite the
railway.json
file with the following content (recommended):
- or add the following environment variables:
you can deploy www
, dash
and service
applications to Zeabur, and make sure that the services name are www
, dash
and service
respectively.
chia1104.dev
├── apps
│ ├── service (Hono)
│ ├── dash (NextJS)
│ └── www (NextJS)
├── packages
| ├── ai (AI vector search / text generation)
│ ├── api (tRPC API)
│ ├── auth (AuthJS)
│ ├── cache (Redis cache)
│ ├── contents (MDX functionality)
│ ├── db (Drizzle orm)
│ ├── tailwind (tailwind config and css files)
│ ├── ui (shared components)
│ └── utils (shared utilities)
└── tests
└── www-e2e (playwright e2e tests)
You can run the following commands to initialize the project.
make init
Runs the app in the development mode.
Open http://localhost:3000 to view it in your browser.
pnpm dev:www
Testing the app.
pnpm test && pnpm test:e2e
Build the docker image
docker build -f ./apps/www/Dockerfile -t www .
docker run -p 8080:8080 www