This is the source code for the website of the NR2F1 Foundation, a non-profit organisation dedicated to helping families living with rare variants of the Nr2f1 gene.
These variants cause a neurodevelopmental disorder called Bosch-Boonstra-Schaaf optic atrophy syndrome (BBSOAS).
- Raise awareness of the NR2F1 Foundation and the work they do
- Provide information about the NR2F1 gene and BBSOAS
- Provide resources for families living with BBSOAS
- Guide families on how to register in the biorepository, which is a database of information about people with BBSOAS for research purposes
- Provide resources for healthcare professionals, researchers, and pharmaceutical companies
- Provide a blog for the NR2F1 Foundation to share updates and stories
- Provide a donation page for people to support the NR2F1 Foundation
To accomplish these goals, the website should have the following features:
- Should be easy to maintain and update
- Is accessible to all users
- Is responsive and works well on all devices
- Handles internationalisation and localisation
- Is SEO-friendly
This is a monorepo, and we have the following projects:
- website: built using Next.js, a React framework. It uses TypeScript for type-checking, Sass for styling, Contenful as a headless CMS, Give Butter for donations, and Vercel for deployment.
- website-assets: to keep the costs as low as possible, the website assets are stored in this NX project. This way, the assets are deployed to GitHub pages (https://nr2f1.github.io/website/) and can be used in the website
We wrote some guidance for first-time contributors check it out.
Our backlog is tracked as GitHub issues; feel free to check them out.
We are following conventional commits and semantic versioning for the project.
- Clone the repository
git clone [email protected]:nr2f1/website.git
- Install dependencies
pnpm install
- Copy the
.env.example
file in the website folder to.env
and fill in the environment variables
cat ./website/.env.example > ./website/.env
pnpm nx dev website
pnpm biome format --write <PATH>
pnpm biome lint <PATH>
pnpm nx build website
We are using conventional commits and semantic versioning for the project. The deployment process is described in the Deployment documentation.