Build and deploy Next.js practical cases.
Name | Description | Staging website | Production website |
---|---|---|---|
Notes | A Notes application | https://notes.staging.npcs.store | https://notes.npcs.store |
Stackoverflow | Stackoverflow clone | https://stackoverflow.staging.npcs.store | https://stackoverflow.npcs.store |
large-file-upload | Large file upload, chunks enabled | https://large-file-upload.staging.npcs.store | https://large-file-upload.npcs.store |
- Configure your environment variables in
configs/next/.env.local
, you can see the details in configs/next/.env.local.example
As this repo is only for learn, this is the default environment for pasting:
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=pk_test_c3RpcnJlZC1mbGVhLTMuY2xlcmsuYWNjb3VudHMuZGV2JA
CLERK_SECRET_KEY=sk_test_Xx0zLQaur636egnWNgSPADqUxgT6U9vzno2DZ8W6g1
- Setup database
docker compose -f ./db.docker-compose.yml up
- Compile libs
pnpm turbo compile
This is required because
pnpm dev
needs to run dev command provided by tool@npcs/cli
.
- Start dev server
pnpm dev
or run the following command in any folder inside the repo:
pnpm -w dev
pnpm turbo compile:watch
-
For production deployment: See Deploy production
-
For staging deployment: See Deploy staging
Task | Complete | Developing |
---|---|---|
Deploy as changed | 1 | |
Env refactor | 1 | |
CI for check | 1 | |
Development flow | 1 | |
Webhook | ||
Fix styles for stackoverflow |
1 | |
Dep check | ||
Git commit message lint | 1 | |
The flow of publish libraries | 1 | |
Research turbo generators | ||
Replace next config with @npcs/next-config |
1 | |
Refactor all consoles | 1 | |
Console env | 1 | |
Extract shared next config to plugin | ||
Replace clerk.js key to production | ||
Translate to English | ||
i18n | ||
Prisma cache | ||
Deploy | ||
App logo | ||
Centralized management of authentication and Authorization | ||
Index page | ||
Enable Docker cache in CI | ||
Fix the createUserIfNeeded |
||
Turbo remote cache | 1 | |
Do e2e test in CI | ||
CI file reuse | 1 | |
CI refactor | 1 | |
SENTRY |
Feel free to open issues or submit pull requests if you have any improvements or find any bugs.
This project is licensed under the MIT License.