This project has been archived. See jbrunton/chat-demo for a better example.
This project is an exercise in developing good CI/CD practices and automation. It includes:
- Infrastructure as Code with Pulumi, including automatic provisioning of dev environments for each PR (and automatic cleanup after merging)
- CI including linting, unit tests, and eventually integration tests
- Continuous delivery practices, including automatic deployments to staging and automatic (with approval) deployments to production
- Automatic dependency updates (including automerging for minor version changes) with Renovate
This is a Next.js project bootstrapped with create-next-app
.
The project implements a very basic realtime chat app at chat-demo.jbrunton-aws.com.
- From the home screen you can create "rooms". Each room has a unique URL. Anyone connecting to the room can chat using server-sent events.
- Over time, the app will also respond to commands prefixed with a
/
. Right now, the only command is/help
.
First, run the development server:
cd server
npm install
npm run dev
Open http://localhost:3000 with your browser to see the result.
You can start editing the page by modifying pages/index.tsx
. The page auto-updates as you edit the file.
API routes can be accessed on http://localhost:3000/api/hello. This endpoint can be edited in pages/api/hello.ts
.
The pages/api
directory is mapped to /api/*
. Files in this directory are treated as API routes instead of React pages.
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!
The easiest way to deploy your Next.js app is to use the Vercel Platform from the creators of Next.js.
Check out our Next.js deployment documentation for more details.