The template repository contains a template for a Next.js project providing automated GitHub Actions and setups for code linting, testing & test coverage reports, docker deployments, a docker compose setup, local packages for modular deployment, and documentation generation & deployment.
Follow these steps to customize it to your needs:
- Rename the Next.js project.
- Modify, add, or remove the local packages found at
/packages/*
to separate code into smaller modules. - Add dependencies and edit the project in
/app
and the local Node packages.
The main application is automatically deployed to https://stanfordbdhg.github.io/NextJSTemplate/.
The documentation of the local packages is automatically deployed to https://stanfordbdhg.github.io/NextJSTemplate/docs.
You can run the project using the following command. You will need to install Node.js and npm, e.g., using homebrew (recommended for macOS) or the official Node.js installer.
- Install All Dependencies
npm install
- Start the Next.js Application
npm run dev
Open http://localhost:3000 with your browser to see the result.
You can edit the page by modifying app/page.tsx
. The page auto-updates as you edit the file.
- Install Docker on your machine.
- Build the image and run the docker compose setup:
docker compose -f docker-compose-development.yml up
.
You can view your images created with docker images
.
Open http://localhost with your browser to see the result. You can visit http://localhost:8080 to see the reverse proxy setup before the main application.
The docker-compose.yml
setup contains a production-ready setup using a reverse proxy.
Every version of the application on the main
branch is automatically packaged into docker images using the main
tag. Every release is also published using the latest
and respective version tags.
To learn more about Next.js, take a look at the following resources:
- Next.js Documentation - learn about Next.js features and API.
- Learn Next.js - an interactive Next.js tutorial.
You can check out the Next.js GitHub repository - your feedback and contributions are welcome!
This project is licensed under the MIT License. See Licenses for more information.
This project is developed as part of the Stanford Byers Center for Biodesign at Stanford University. See CONTRIBUTORS.md for a full list of all Next.js Template contributors.