chia1104.dev
chia1104.dev copied to clipboard
This is my personal website. Build with NextJS 13 new appDir feature.
Chia1104.dev
The project is still under development.
This is my personal website, a monorepo managed using Turborepo. The development is based on the app structure of NextJS, with the use of TailwindCSS and Typescript. For backend functionalities, PostgreSQL and Redis are utilized to store articles and limit API traffic.
Finally, the website is deployed to the Zeabur platform using Docker, and GitHub Actions are used for integration testing.
🔨 Languages and Tools
🌐 Deployments
www
dash
🚀 Deploy your own
Vercel
- Create a new project on Vercel, select the
apps/www(orapps/dash) folder as the root directory:

Railway
- Overwrite the
railway.jsonfile with the following content (recommended):

- or add the following environment variables:

Zeabur
you can deploy www, dash and service applications to Zeabur, and make sure that the services name are www, dash and service respectively.

🏗️ Project Structure
chia1104.dev
├── apps
│ ├── service (NestJS)
│ ├── dash (NextJS)
│ └── www (NextJS)
├── packages
│ ├── api (tRPC API, for nextjs)
│ ├── auth (AuthJS)
│ ├── utils (shared utilities)
│ ├── ui (shared components)
│ └── db (prisma orm)
├── toolings
│ ├── tailwind (tailwind config and css files)
│ └── tsconfig (base, nextjs, react)
└── tests
├── www-e2e (playwright e2e tests)
└── dash-e2e (WIP)
🎉 Get Started
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 web:v2 .
docker run -p 8080:8080 web:v2