FundWaveSL is Sierra Leoneβs first dedicated crowdfunding platform, built to help individuals, communities, and organizations raise funds easily and securely. With local mobile money integration, zero platform fees, and bank-level security, FundWaveSL makes it simple to launch campaigns, receive donations, and withdraw funds. Trusted by thousands of users and supporting both local and international payments, the platform is tailored to Sierra Leoneβs unique needsβempowering people to turn ideas and causes into real impact.
π©βπ»Currently in active development. We welcome contributions and feedback from the community!
- Easy Campaign Creation β Launch fundraising campaigns quickly with images, descriptions, and funding goals.
- Local & International Payments β Accept donations via mobile money, bank transfers, and international channels.
- Secure & Transparent β Bank-level security, KYC verification, and real-time tracking of donations.
- Multi-Channel Notifications β Stay updated via SMS, email, or WhatsApp(comming soon...).
- Inclusive & Localized β Designed for Sierra Leone, supporting local languages and payment infrastructure.
- Campaign Management β Edit campaigns, track progress, and withdraw funds safely.
- Next.js β React framework for server-side rendering and static site generation.
- React β UI library for building interactive interfaces.
- TailwindCSS: Utility-first CSS framework with custom design system
- Shadcn/ui: Modern UI component.
- Typescripts - Ui component library.
- PostgreSQL: Robust relational database for data persistence
- Node.js: Server-side JavaScript runtime environment
- Drizzle β ORM for database modeling and queries.
- Prettier: Code formatting for consistent style
- ESLint: Code linting for quality assurance
- GitHub Actions: Continuous integration and deployment
fundwave/
βββ .gitignore
βββ LICENSE
βββ README.md
βββ app
| βββ about
| | βββ page.tsx
| βββ api
| | βββ campaigns
| | | βββ [id]
| | | | βββ cash-out
| | | | | βββ route.ts
| | | | βββ comments
| | | | | βββ [commentId]
| | | | | | βββ route.ts
| | | | | βββ route.ts
| | | | βββ payments
| | | | | βββ route.ts
| | | | βββ report
| | | | | βββ route.ts
| | | | βββ route.ts
| | | βββ user-created
| | | | βββ route.ts
| | | βββ user-deleted
| | βββ page.tsx
| βββ dashboard
| | βββ page.tsx
| βββ error.tsx
| βββ favicon.ico
| βββ globals.css
| βββ help
βββ assets
| βββ assets.ts
| βββ logo.png
| βββ nema.jpg
| βββ swaray.jpg
| βββ tjalloh.jpg
| βββ walon.jpg
βββ components
| βββ ClientLayoutWrapper.tsx
| βββ campaign-card.tsx
| βββ cashout-modal.tsx
| βββ ui
| | βββ accordion.tsx
| | βββ alert-dialog.tsx
| | βββ alert.tsx
| | βββ aspect-ratio.tsx
| | βββ avatar.tsx
| | βββ badge.tsx
| | βββ breadcrumb.tsx
| | βββ button.tsx
| | βββ calendar.tsx
| | βββ card.tsx
| | βββ carousel.tsx
| | βββ checkbox.tsx
| | βββ collapsible.tsx
| | βββ command.tsx
| | βββ context-menu.tsx
| | βββ dialog.tsx
| | βββ drawer.tsx
| | βββ dropdown-menu.tsx
| | βββ form.tsx
| | βββ hover-card.tsx
βββ components.json
βββ db
| βββ drizzle
| | βββ 0000_heavy_mother_askani.sql
| | | βββ 0005_snapshot.json
| βββ drizzle.ts
| βββ schema.ts
βββ drizzle.config.ts
βββ eslint.config.mjs
βββ lib
| βββ ai.ts
| βββ api
| | βββ api.ts
| βββ logger.ts
| βββ monime.ts
| βββ nodeMailer.ts
| βββ notification.ts
| βββ supabase.ts
| βββ utils.ts
βββ middleware.ts
βββ next-env.d.ts
βββ next.config.ts
βββ package.json
βββ pnpm-lock.yaml
βββ postcss.config.mjs
βββ public
| βββ robots.txt
βββ styles
| βββ globals.css
βββ tailwind.config.ts
βββ tsconfig.json
βββ types
| βββ api.ts
| βββ monimeTypes.ts
βββ validations
| βββ campaign.ts
| βββ comment.ts
| βββ payment.ts
| βββ update.ts
| βββ user.ts
| βββ withdrawal.ts
Ensure you have the following installed on your development machine:
- Node.js (v20.12.0 or higher) - Download
- npm (comes with Node.js) or yarn as package manager
- Git for version control
- Vercel CLI (optional, for deployment) - Install Guide
-
Clone the Repository
git clone https://github.com/Walon-Foundation/fundwave.git cd fundwave
-
Install Dependencies
npm install
-
Environment Configuration
cp .env.example .env
Then configure your
.env
file with the following variables:# Supabase Configuration SUPABASE_URL=your_supabase_project_url SUPABASE_ANON_KEY=your_supabase_anon_key # clerk Configuration CLERK_SECRET_KEY=******* NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=***** WEBHOOK_SECRET=********** # Database Configuration DATABASE_BASE_URL=*************** # Monime Configuration MONIME_SPACE_ID=************ MONIME_ACCESS_TOKEN=********** MONIME_MAIN_ACCOUNT_ID_PROD=****************** # SMTP Configuration GOOGLE_SMTP_EMAIL=*********** GOOGLE_SMTP_PASSWORD=***************** NODE_ENV=********************
-
Start Development Server
npm run dev
Your application will be available at
http://localhost:3000
# Development server with hot reload
npm run dev
# Production build
npm run build
# Preview production build
npm run start
# Lint
npm run lint
What did you learn while building this project? What challenges did you face and how did you overcome them?
We welcome contributions from developers, designers, and DPG enthusiasts! Here's how you can get involved:
- Fork the repository on GitHub
- Clone your fork locally
- Create a feature branch from
main
- Make your changes following our coding conventions
- Test your changes thoroughly
- Submit a pull request with a clear description
- Follow the existing code style and conventions
- Write meaningful commit messages
- Include tests for new features
- Update documentation when necessary
- Keep PRs focused and manageable in size
For detailed contribution guidelines, see CONTRIBUTING.md.
We are committed to providing a welcoming and inclusive environment for all contributors. Please read and follow our Code of Conduct.
- Issues: Report bugs and request features on GitHub Issues
- Discussions: Join community discussions on GitHub Discussions
- Documentation: Comprehensive guides in the
/docs
directory
- Watch the repository for updates
- Star the project if you find it useful
- Follow @Walon-Foundation for announcements
This project is licensed under the MIT License - see the LICENSE file for details.
- Walon-Foundation for project sponsorship and support
- Open Source Community for the amazing tools and libraries that make this project possible
- Contributors who help improve and maintain this platform