An Astro based front-end to interact with the ResearchEquals API.
  • TypeScript 69.8%
  • Astro 28.9%
  • SCSS 0.6%
  • CSS 0.4%
  • JavaScript 0.2%
  • Other 0.1%
Find a file
Chris Hartgerink 1e43bb7db6
chore(auth): improve username validation
in response to noticing email addresses being used as usernames
2026-02-24 11:35:04 +01:00
.vscode Initial commit from Astro 2025-08-25 11:00:40 +02:00
public fix(core): last looks in migration (#55) 2026-02-01 02:26:51 +00:00
src chore(auth): improve username validation 2026-02-24 11:35:04 +01:00
.env.example feat(outputs): add the creation and publishing of outputs (#46) 2026-01-10 19:10:04 +00:00
.gitignore feat(test): setup unit and integration testing (#36) 2025-11-14 13:04:38 +00:00
astro.config.mjs chore(core): add astro adapter 2026-01-18 20:12:54 +01:00
docker-compose.yml feat(core): add docker image 2026-02-10 09:28:52 +01:00
Dockerfile feat(core): add docker image 2026-02-10 09:28:52 +01:00
LICENSE chore(dx): update repo docs 2025-08-25 11:09:04 +02:00
package-lock.json chore(core): add astro adapter 2026-01-18 20:12:54 +01:00
package.json chore(core): add astro adapter 2026-01-18 20:12:54 +01:00
playwright.config.ts feat(test): setup unit and integration testing (#36) 2025-11-14 13:04:38 +00:00
README.md feat(core): add docker image 2026-02-10 09:28:52 +01:00
tsconfig.json feat(test): setup unit and integration testing (#36) 2025-11-14 13:04:38 +00:00
vite.config.ts feat(test): setup unit and integration testing (#36) 2025-11-14 13:04:38 +00:00

ResearchEquals website

Conventional Commits SemVer NIX

Welcome to the repository for the ResearchEquals website! 👋 We build this front-end with priority for accessibility, reliability, and performance.

The front-end relies on the ResearchEquals API. If you are copying the code from this repository, you need to set up a separate ResearchEquals API yourself. In the future, we will add a docker image that will do both for you.

Development

npm install
npm run dev

🚀 Project Structure

Inside of our Astro project, you'll see the following folders and files:

/
├── public/
├── src/
│   └── pages/
│       └── index.astro
└── package.json

Astro looks for .astro or .md files in the src/pages/ directory. Each page is exposed as a route based on its file name.

There's nothing special about src/components/, but that's where we like to put any Astro/React/Vue/Svelte/Preact components.

Any static assets, like images, can be placed in the public/ directory.

🧞 Commands

All commands are run from the root of the project, from a terminal:

Command Action
npm install Installs dependencies
npm run dev Starts local dev server at localhost:4321
npm run build Build your production site to ./dist/
npm run preview Preview your build locally, before deploying
npm run astro ... Run CLI commands like astro add, astro check
npm run astro -- --help Get help using the Astro CLI
npm run test Run unit tests
npx playwright test Run browser integration tests
npx playwright codegen Create interactive tests
npx @hocuspocus/cli --port 1234 --sqlite Run the collaborative editing server

To run the playwright tests, you may need to run npx playwright install to ensure you have all the browsers.

docker

docker buildx build --platform linux/amd64 --tag git.libscie.org/researchequals/frontend:latest ./
docker push --platform=linux/amd64 git.libscie.org/researchequals/frontend:latest