This is the official repository for the University of Adelaide Computer Science Club (CS Club) website. It is built using Next.js, React, TypeScript, and Tailwind CSS.
We recommend using the docker-compose-dev.yml setup for development. It includes all the required services (the website in development mode, Redis, and Keycloak) all preconfigured and ready to run:
docker compose -f docker-compose-dev.yml up --buildIf you'd prefer a manual setup, follow these steps:
- Install the dependencies.
pnpm install-
Copy
.env.local.exampleto a new file.env.localand set required environment variables (check/docsfolder if you don't know how to edit it) -
Initialise the database.
pnpm run db:push- Run the development server.
pnpm run dev- Open http://localhost:3000 with your browser to see the result.
To seed the Payload CMS database with mock data for local development, run:
pnpm run db:seed-cmsTo run the full suite of unit tests and compute coverage:
pnpm test:coverageTo run unit tests and verify required code coverage (as enforced in CI/CD checks):
pnpm test:coverage:checkTo run the Playwright end-to-end integration tests:
pnpm test:playwrightNote
Make sure no dev server is already running on port 3000 before starting Playwright tests, as the E2E test runner automatically provisions and controls its own Next.js instance.
We welcome contributions to enhance the CS Club Website! If you find any issues, have suggestions, or want to request a feature, please follow our Contributing Guidelines.
This project is licensed under the MIT License. See LICENSE for details.