A Tech-driven Solution for Breastmilk Donation and Distribution
LactaLink, built with React Native (Expo), facilitates the donation and distribution of breast milk. The app provides a platform for individuals(donors/recipients) and organizations(hospitals/milkbanks) to connect while ensuring medical approval, safety, and convenience.
- ⚛️ React Native (Expo) (Mobile App: Android & iOS)
- ⚛️ React (Next.js) (Admin Panel: Web)
- 🛠️ Next.js
- 🛠️ Payload CMS
- 🗂️ TanStack React Query (Server-side)
- 🗂️ Zustand (Client-side)
- 🌐 Vercel (Web Hosting, Domain & SSL)
- 📱 Expo Application Services (EAS) (Mobile App Distribution)
- 🏗️ Turborepo (Monorepo Management)
- 📦 pnpm (Package Manager)
- 🧪 ESLint (Linting)
- 🛠️ TypeScript (Static Typing)
- 🎨 Prettier (Code Formatting)
More details in the Technical Architecture documentation.
- 🖥️ Node.js & pnpm installed - Required
- 🏛️ Supabase Project - Required
- 🌐 Google Cloud Project with Maps API and OAuth credentials - Required
- 📲 Expo Project (for building dev client) and Expo CLI installed globally (
npm install -g expo-cli) - Required - 🌐 Vercel Account (for hosting the web app) - Optional
-
📂 Clone the repository:
git clone https://github.com/Jeius/LactaLink.git cd lactalink -
📦 Install dependencies:
pnpm install
-
🏗️ Build the packages:
pnpm build:packages
-
🛠️ Setup environment variables:
- Create a
.envfile in theapps/mobileandapps/webdirectory. - Add necessary environment variables (e.g., Supabase URL, Supabase Anon Key, Google Maps API Key, Api URL).
- Refer to
.env.examplefor guidance.
- Create a
-
🗄️ Create database triggers for Supabase Auth:
- Go to Supabase Dashboard -> SQL Editor
- Copy and paste into the SQL Editor all of the SQL commands from
database/sql/triggersdirectory and run them.
-
▶️ Build the Mobile app dev client:- Log in to your Expo account using the command:
eas login
- Build the dev client for your platform:
cd apps/mobilepnpm build:android-dev # For Androidpnpm build:ios-dev # For iOS
- Log in to your Expo account using the command:
-
📲 Install the dev client on your device:
- For Android, download the APK from the Expo dashboard and install it.
- For iOS, follow this tutorial: Installing custom iOS apps.
-
🚀 Start the development servers:
// In the root directory pnpm dev
For production deployment using Docker and Northflank:
- 📖 Docker Documentation - Complete Docker setup guide
- 🚀 Quick Commands - Common Docker commands
Quick start:
# Build the Docker image
docker build -f apps/web/Dockerfile -t lactalink-web:latest .
# Run locally
cd apps/web
docker-compose up- 🍴 Fork the repository
- 🌱 Create a new branch (
git checkout -b feature-branch) - 📝 Commit changes and push (
git push origin feature-branch) - 🔄 Open a Pull Request