Skip to content

compsci-adl/website

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

511 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CS Club Website

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.

Getting Started

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 --build

If you'd prefer a manual setup, follow these steps:

  1. Install the dependencies.
pnpm install
  1. Copy .env.local.example to a new file .env.local and set required environment variables (check /docs folder if you don't know how to edit it)

  2. Initialise the database.

pnpm run db:push
  1. Run the development server.
pnpm run dev
  1. Open http://localhost:3000 with your browser to see the result.

Development and Testing

Seeding the CMS

To seed the Payload CMS database with mock data for local development, run:

pnpm run db:seed-cms

Running Tests

To run the full suite of unit tests and compute coverage:

pnpm test:coverage

To run unit tests and verify required code coverage (as enforced in CI/CD checks):

pnpm test:coverage:check

To run the Playwright end-to-end integration tests:

pnpm test:playwright

Note

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.

Contributing

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.

License

This project is licensed under the MIT License. See LICENSE for details.

Used by

Contributors

Languages