Website of the Club Volo Libero Ticino
Built with Next.js and Payload CMS.
- Node.js 24 LTS
- npm
# 1. Copy the example env file and fill in your values
cp .env.example .env
# 2. Install dependencies
npm install
# 3. Start the development server
npm run devThe app runs at http://localhost:3000.
The Payload admin panel is at http://localhost:3000/admin.
See .env.example for all required variables.
The app validates env vars at startup and fails fast if any required value is missing or invalid.
For shop checkout on deployed environments:
SHOP_PAYLINK_URLmust be set to the live RaiseNow paylink (https://pay.raisenow.io/...).SHOP_ORDER_TOKEN_SECRETmust be set (separate fromPAYLOAD_SECRET).NEXT_PUBLIC_SERVER_URLmust match the active domain (https://dev.cvlt.chduring development deployment,https://cvlt.chat go-live).- Do not keep
localhostvalues on deployed instances. - There are no runtime fallbacks for required env vars.
The SQLite database file and uploaded media are stored locally (ignored by git). Make sure to back them up separately.
npm run build
npm startThe project is deployed on Infomaniak via Git. Push to the main branch and pull on the server.
This is a private project for CVLT. Contributions from club members are welcome.
- Fork or branch from
main - Make your changes and test locally (
npm run dev) - Open a pull request with a short description of what you changed and why
Please keep commits focused and write clear commit messages. If you're unsure about something, open an issue first.
MIT - Ruben Hutter