Afrigives is a platform that connects donors to fictive charities in Africa in cash and kind.
This is a monorepo containing the source code for the Afrigives mobile application and website.
The mobile application is built with Expo and React Native. The web application is built with Next.js and Tailwind CSS for styling, deployed on Vercel.
The Repository Structure section below contains more information about the structure of the repository. The Getting Started section contains instructions for setting up the development environment.
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
.github
└─ workflows
└─ CI with pnpm cache setup
.vscode
└─ Recommended extensions and settings for VSCode users
apps
├─ mobile
| ├─ Expo SDK 44
| ├─ React Native using React 17
| └─ Navigation using React Navigation 6
└─ web
├─ Next.js 12
├─ React 17
└─ Tailwind CSS
packages
└─ config
└─ eslint
└─ eslint config for React Native and Next.js
- Node.js
- pnpm
- Expo CLI
- Xcode (for iOS development)
- Android Studio (for Android development)
-
Install dependencies
pnpm install
2 Setup environment variables
cp .env.example .env
Replace the values in .env
with your own.
-
Start the development servers for the mobile and web apps.
pnpm dev
-
Visit http://localhost:3000 in your browser to view the web application. The iOS simulator should open automatically. If it doesn't, run
expo start
in theapps/mobile
directory.