π Empowering African financial institutions with modern, accessible technology
SenteLoans is an open-source digital platform designed specifically for African Savings and Credit Cooperatives (SACCOs), Microfinance Institutions (MFIs), and Money Lenders. Built with a mobile-first approach and optimized for low-bandwidth environments, SenteLoans helps financial institutions across Africa digitize their operations while preserving community-focused values.
- πΊπ¬ Built for Africa: Designed with African market realities in mind - low bandwidth, mobile-first, local payment methods
- π° Free & Open Source: MIT licensed - use, modify, and deploy without restrictions
- π’ Multi-Tenant: One installation supports multiple institutions with complete data isolation
- π± Mobile-First: Optimized for mobile devices and low-bandwidth environments
- π Secure by Default: Row-level security, audit logging, and compliance-ready
- π Multi-Language: English and Luganda, with easy extensibility to other African languages
- π Production Ready: Built with enterprise-grade technologies (Next.js, TypeScript, Supabase)
Sente Loan currently empowers Ugandan Saccos, money lenders and Micro finance institutions to transition from manual, paper-based operations to a modern digital platform that tracks member data, manages loan lifecycles, and generates comprehensive financial reports. The platform maintains the community-focused values that define Ugandan Saccos while providing transparency, efficiency, and scalability.
- Digitize SACCO Operations: Transform traditional cooperative banking from manual processes to digital workflows
- Enhance Member Experience: Provide transparent access to account information and loan status
- Improve Financial Management: Enable data-driven decision making with real-time analytics
- Ensure Compliance: Maintain proper KYC documentation and regulatory reporting
- Scale Operations: Support SACCO growth with efficient member and loan management
- Complete member registration with KYC verification
- Next-of-kin information and document storage
- Member profile management and status tracking
- Search and filtering capabilities
- End-to-end loan processing from application to repayment
- Automated payment calculations and schedules
- Loan status tracking and approval workflows
- Risk assessment and portfolio analysis
- Multi-account savings management (Voluntary, Fixed, Shares)
- Deposit and withdrawal processing
- Transaction history and account balance tracking
- Payment method integration
- Real-time financial dashboards
- Portfolio performance metrics
- Member growth analytics
- Exportable reports for compliance
- Mobile-responsive design optimized for all devices
- Dark/light theme support
- Role-based access control
- WhatsApp integration for customer support
- SACCO Manager: Strategic oversight with comprehensive analytics and reporting
- Loan Officer: Day-to-day loan processing and member relationship management
- Treasurer/Auditor: Financial reporting, compliance tracking, and audit trails
- SACCO Member: Self-service portal for account information and loan applications
- Framework: Next.js 14.2.25 with App Router
- Language: TypeScript 5
- Runtime: React 19
- Styling: Tailwind CSS 4.1.9 with custom design system
- UI Components: Radix UI primitives with shadcn/ui
- Icons: Lucide React
- Fonts: Geist Sans & Mono
- Form Management: React Hook Form
- Validation: Zod schema validation
- Date Handling: date-fns, react-day-picker
- Charts: Recharts for analytics dashboards
- Progress Indicators: Custom progress components
- Client State: React hooks and context
- Server State: Next.js server components and actions
- Theme Management: next-themes for dark/light mode
- Server Actions: Next.js server actions for form processing
- Database: Supabase for PostgreSQL database with Row-Level Security
- Authentication: Supabase Auth with JWT tokens
- File Storage: Vercel Blob for KYC documents and user uploads
- Email Integration: Mailgun API for contact forms and notifications
- Toast Notifications: Sonner
- Loading States: Custom loading components
- Error Handling: Comprehensive error boundaries
- Package Manager: pnpm
- Linting: ESLint with Next.js configuration
- Type Safety: Strict TypeScript configuration
- Styling Utilities: clsx, tailwind-merge, class-variance-authority
- Primary: Navy Blue (#1A2F5B) - Trust and stability
- Accent: Warm Orange (#F08C2B) - Energy and approachability
- Neutral: Charcoal Gray (#4A4A4A) - Professional text
- Background: Light Gray (#F5F5F5) - Clean surfaces
- Primary Font: Inter (Google Fonts)
- Fallback: ui-sans-serif, system-ui, sans-serif
- Scale: Responsive typography with mobile-first approach
- Border Radius: 8px for consistency
- Shadows: Subtle elevation with shadow-sm
- Focus States: Navy blue ring indicators
- Spacing: Consistent Tailwind spacing scale
- pnpm: Fast, disk space efficient package manager
- Lock File: pnpm-lock.yaml for consistent installs
- TypeScript: Strict type checking enabled
- ESLint: Next.js recommended configuration
- Component Architecture: Modular, reusable components
- File Organization: Feature-based folder structure
- Utility-First: Tailwind CSS for rapid development
- Component Variants: Class Variance Authority for type-safe styling
- Design Tokens: CSS custom properties for theming
- Responsive Design: Mobile-first breakpoint system
- Server Components: Leverage Next.js server-side rendering
- Client State: React hooks for local component state
- Form State: React Hook Form for complex forms
- Theme State: next-themes for user preferences
# Clone the repository
git clone https://github.com/oquidave/senteloans.git
cd senteloans
# Install dependencies
pnpm install
# Set up environment variables
cp .env.example .env.local
# Edit .env.local with your Supabase credentials
# Run database migrations
# See INSTALLATION.md for detailed instructions
# Start development server
pnpm devVisit http://localhost:3000 to see the application.
π New to SenteLoans? Check out our Installation Guide for detailed setup instructions.
- Installation Guide - Complete setup instructions for development and production
- Contributing Guide - How to contribute to the project
- Security Policy - Security best practices and reporting vulnerabilities
- Code of Conduct - Community guidelines
- Test Coverage - Current test coverage status
- Optimized for 3G/4G networks common across Africa
- Progressive image loading and lazy loading
- Minimal data usage with efficient caching
- Offline-capable architecture (coming soon)
- Mobile Money: MTN Mobile Money, Airtel Money integration
- USSD Access: For feature phones without internet
- SMS Notifications: Transaction alerts via SMS
- English (default)
- Luganda (Uganda)
- Extensible to Swahili, Amharic, and other African languages
- Uganda Bank of Uganda (BOU) compliance ready
- KYC/AML workflows built-in
- Audit trails for all financial transactions
- Data privacy and protection
- Language: English (with consideration for Ugandan context)
- Currency: Uganda Shillings (UGX)
- Date Format: DD/MM/YYYY (configurable)
- Accessibility: WCAG AA compliant with proper ARIA labels
- Mobile Support: Responsive design for all screen sizes
We welcome contributions from developers, designers, financial experts, and community members! SenteLoans is built by the community, for the community.
- π Report bugs - Help us identify and fix issues
- π‘ Suggest features - Share ideas for improvements
- π Improve documentation - Help others understand the project
- π Translate - Add support for more African languages
- π» Submit code - Fix bugs or implement new features
- π¨ Design - Improve UI/UX
- π’ Spread the word - Share SenteLoans with others
π Get started: Read our Contributing Guide
Thanks to all the amazing people who have contributed to SenteLoans! π
- GitHub Issues: Report bugs or request features
- GitHub Discussions: Ask questions and share ideas
- Documentation: Check our comprehensive docs in this repository
For security vulnerabilities, please see our Security Policy.
- Data Protection: Secure handling of sensitive financial information
- KYC Compliance: Proper documentation and verification workflows
- Role-Based Access: Appropriate permissions for different user types
- Audit Trails: Comprehensive logging for financial transactions
- Row-Level Security: Supabase RLS ensures data isolation between institutions
- Encrypted Storage: All sensitive data encrypted at rest and in transit
- β Core Features: Member management, Loans, Savings, Transactions
- β Multi-Tenant: Full institution isolation
- β Authentication: Secure login and role-based access
- β Notifications: In-app notification system
- β KYC Management: Document upload and verification
- π§ Mobile Money: Integration planned
- π§ USSD Access: Under development
- π§ Mobile Apps: Native apps planned
- Multi-tenant architecture
- Member/Client management
- Loan lifecycle management
- Savings and shares
- Transaction tracking
- Reports and analytics
- Mobile Money integration (MTN, Airtel)
- SMS notifications
- Advanced reporting and exports
- Bulk operations
- API for third-party integrations
- USSD access for feature phones
- Mobile apps (iOS/Android)
- Multi-country support
- WhatsApp integration
- Voice banking
- Manage member shares and contributions
- Process loan applications and approvals
- Track savings accounts
- Generate compliance reports
- Member self-service portal
- Client onboarding with KYC
- Group lending management
- Repayment tracking
- Portfolio risk analysis
- Field officer mobile access
- Quick loan processing
- Collateral management
- Payment reminders
- Default tracking
- Business analytics
SenteLoans is open source software licensed under the MIT License.
- Built with Next.js, Supabase, and Tailwind CSS
- UI components from shadcn/ui
- Inspired by the needs of African financial institutions
- Supported by the open source community
Built with β€οΈ for African SACCOs, MFIs, and Financial Cooperatives
Empowering financial inclusion through open source technology
π Made in Uganda, for Africa