Repository of cyberfraud.lu
Technology stack:
- Next.js
- BiomeJs for formatting and linting.
- TailwindCss
- react-icons
The website gets the content from the json files present in the _data folder (EN, LU, DE, FR).
Be sure to have the following software in your machine:
Node.js>= 22pnpm>= 10 (if you want to usepnpm)
Then:
- Clone the project
- run
pnpm install - run
pnpm dev - open http://localhost:3000 with your browser to see the result.
There are 4 commands you can run, in order to:
Runs various checks on the file
pnpm lintRun the formatter
pnpm formatRuns formatter, linter and import sorting to the requested files.
pnpm checkpnpm typecheckYou can start editing the page by modifying app/local/page.tsx. The page auto-updates as you edit the file.
To create the docker images (check docker folder for further info) run the following command:
make build-developmentTo run the docker stack (previously built):
make start-developmentThe described commands are present in the
Makefilescript
Once you created the image (with build-development or build-production) you can run it in any machine with docker
installed.
-
Create a folder. Example:
mkdir cyberfraud-lu-website && cd cyberfraud-lu-website. -
Copy the content of _data in a specific folder folder:
mkdir data && cp _data/*.json ./data(remote copy:scp _data/*.json [user]@[server]:/var/www/cyberfraud-lu/data) -
Create a
.envfile with the following variables:COMPOSE_PROJECT_NAME=cyberfraud-lu # The one that you created with build-development or build-production IMAGE_NAME=[image name] # The port that is exposed to the host EXPOSED_PORT=3034 # Translations folders (important, all the translations should be there before starting the container) DATA_FOLDER=../../_data
-
Create a
docker-compose.ymlfile:services: cyberfraud_lu_web: image: ${IMAGE_NAME} env_file: - .env ports: - "${EXPOSED_PORT}:3000" - volumes: - ${DATA_FOLDER}:/app/_data
-
Run
docker compose up -dand go tolocalhost:[EXPOSED_PORT]
Check the docker/example
This software is licensed under GNU General Public License version 3.
- Copyright (C) 2025 NC3 Luxembourg
For more information, the list of authors and contributors is available.