The DDD Perth website is deployed to https://dddperth.com and is built using Next.js.
- Checkout repository on your machine - ensure you have Node.js installed
- Run
npm installin the repository root (to restore npm packages) - Run
npm run devto start a local dev environment that watches for changes and supports Hot Module Replacement / Hot Reloading - Use Visual Studio Code as the preferred dev environment - breakpoint debugging should work and you should be able to run the "Start Dev Webserver" task to get it to run the dev environment
- Note:
package.jsonhas some URLs defined in thedevtask that reference the backend API
- Checkout code
- Run
npm - Run
npm run build - Grab the
.nextdirectory and deploy to the destination - Run
npmin the deploy folder and deploy all files from there alongside the.nextdirectory (the web.config file is targeted towards Azure Web Apps)
/- Usual array of .json and other config files for a JavaScript / TypeScript project/.vscode- VS Code config files including tasks, launch/debugging settings and extension recommendations/components- Reusable UI components used within pages/components/global- UI components that make up the global layout of the site/components/utils- Utility functions
/config- Configuration of the conference-specific data/deploy- Files used to deploy the app to Azure Web Apps/layouts- Page layouts/pages- The pages themselves, these turn into URLs as per Next.js convention/static- Static assets
To re-purpose for another conference:
- Update the files in the
configdirectory - The theme of the site is handled in theme.ts and uses an 8px margin system
- Components are styled using Emotion js styled components. Update styles within the component
- Update the images in the
publicdirectory and sub directories - Update
pages/about.tsx,pages/sponsorship.tsx,pages/cfp.tsxandpages/agenda/*.tsxwith content specific to your conference
If you want to make tweaks to the pages then inspect the files in the pages directory and modify from there.
We use Azure DevOps for CI / CD. This is controlled via .devops/azure-pipelines.yml.
- Use the command
npm test
- Run the command
npm run test:watch
- In VSCode run
Debug Jest Teststo run all tests in debug - Alternatively run
Debug Jest Current Fileto debug the current file
- Run
npm run test:debugand attach to the node inspector with your preferred method
So you’re thinking about contributing to the project? You are awesome! It’s massively appreciated. Before getting started, please take the time to review the contribution guidelines before sending that epic pull request / bug report.