| Name | Description |
|---|---|
| charterAFRICA | The largest digital database for communities |
| ClimateMapped.AFRICA | Empowering action through climate data |
| Code for Africa | Africa's largest network of civic tech and open data labs |
| PesaYetu | Data to hold your government accountable |
| RoboShield | Guard your website against AI Bots |
| TrustLab | Empowering CSOs and CBOs to tackle digital threats facing their communities. |
| TwoopsTracker | Track the trolls & sock-puppets poisoning our democracies |
| Name | Description |
|---|---|
| CivicSignal Research | View the latest analysis from CivicSignal team |
| TechLab | View the latest stories from the CFA engineering team |
This project is using pnpm as a package manager. To setup the monorepo run the following:
git clone https://github.com/CodeForAfrica/ui.git
cd ui
pnpm install
To build all apps and packages, run the following command:
pnpm build
To develop all apps and packages, run the following command:
pnpm dev
Before we can run tests, we need to make sure Playwright has downloaded the browsers needed to run e2e test.
npx playwright install
To test all apps and packages, run the following command:
pnpm test
Use pnpm dev for day-to-day development. Docker is for deployment image builds only.
Using techlabblog app as an example, to build and test the image locally, run:
make techlabblogThis command uses bake-up.sh script to:
- build and tag
codeforafrica/techlabblog:localimage usingdocker buildx bake techlabblog, and then - uses the built image to run
docker compose up techlabblog.
See docker/README.md for full details including CI commands and the pattern for migrating additional apps.
To add changeset, run the following command. This will let you choose what package you want to publish
pnpm changeset
To publish you packages, run
pnpm publish
Make sure you are logged in to npm before publishing your package