Skip to content

oquidave/senteloans

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

86 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

SenteLoans - Open Source SACCO & MFI Management Platform

License: MIT Next.js TypeScript Supabase PRs Welcome

🌍 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.

🌟 Why SenteLoans?

  • πŸ‡ΊπŸ‡¬ 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)

🌟 Project Overview

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.

🎯 Project Goals

  • 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

πŸš€ Key Features

Member Management

  • Complete member registration with KYC verification
  • Next-of-kin information and document storage
  • Member profile management and status tracking
  • Search and filtering capabilities

Loan Management

  • 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

Savings & Transactions

  • Multi-account savings management (Voluntary, Fixed, Shares)
  • Deposit and withdrawal processing
  • Transaction history and account balance tracking
  • Payment method integration

Reports & Analytics

  • Real-time financial dashboards
  • Portfolio performance metrics
  • Member growth analytics
  • Exportable reports for compliance

Additional Features

  • Mobile-responsive design optimized for all devices
  • Dark/light theme support
  • Role-based access control
  • WhatsApp integration for customer support

πŸ‘₯ User Types

  • 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

πŸ›  Technical Stack

Frontend

  • 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 Handling & Validation

  • Form Management: React Hook Form
  • Validation: Zod schema validation
  • Date Handling: date-fns, react-day-picker

Data Visualization

  • Charts: Recharts for analytics dashboards
  • Progress Indicators: Custom progress components

State Management

  • Client State: React hooks and context
  • Server State: Next.js server components and actions
  • Theme Management: next-themes for dark/light mode

Backend & Database

  • 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

Notifications & UX

  • Toast Notifications: Sonner
  • Loading States: Custom loading components
  • Error Handling: Comprehensive error boundaries

Development Tools

  • Package Manager: pnpm
  • Linting: ESLint with Next.js configuration
  • Type Safety: Strict TypeScript configuration
  • Styling Utilities: clsx, tailwind-merge, class-variance-authority

🎨 Design System

Brand Colors

  • 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

Typography

  • Primary Font: Inter (Google Fonts)
  • Fallback: ui-sans-serif, system-ui, sans-serif
  • Scale: Responsive typography with mobile-first approach

Component Patterns

  • Border Radius: 8px for consistency
  • Shadows: Subtle elevation with shadow-sm
  • Focus States: Navy blue ring indicators
  • Spacing: Consistent Tailwind spacing scale

πŸš€ Development Practices

Package Management

  • pnpm: Fast, disk space efficient package manager
  • Lock File: pnpm-lock.yaml for consistent installs

Code Quality

  • TypeScript: Strict type checking enabled
  • ESLint: Next.js recommended configuration
  • Component Architecture: Modular, reusable components
  • File Organization: Feature-based folder structure

Styling Approach

  • 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

State Management

  • 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

πŸš€ Quick Start

# 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 dev

Visit http://localhost:3000 to see the application.

πŸ“š New to SenteLoans? Check out our Installation Guide for detailed setup instructions.

πŸ“– Documentation

🌍 African Market Features

Mobile-First Design

  • 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)

Local Payment Integration (Planned)

  • Mobile Money: MTN Mobile Money, Airtel Money integration
  • USSD Access: For feature phones without internet
  • SMS Notifications: Transaction alerts via SMS

Multi-Language Support

  • English (default)
  • Luganda (Uganda)
  • Extensible to Swahili, Amharic, and other African languages

Regulatory Compliance

  • Uganda Bank of Uganda (BOU) compliance ready
  • KYC/AML workflows built-in
  • Audit trails for all financial transactions
  • Data privacy and protection

🌍 Localization & Accessibility

  • 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

🀝 Contributing

We welcome contributions from developers, designers, financial experts, and community members! SenteLoans is built by the community, for the community.

Ways to Contribute

  • πŸ› 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

πŸ† Contributors

Thanks to all the amazing people who have contributed to SenteLoans! πŸŽ‰

πŸ’¬ Community & Support

For security vulnerabilities, please see our Security Policy.

πŸ”’ Security & Compliance

  • 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

⚠️ Found a security vulnerability? Please report it responsibly via our Security Policy.

πŸ“Š Project Status

  • βœ… 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

πŸ“ˆ Roadmap

Phase 1: Core Platform (Current)

  • Multi-tenant architecture
  • Member/Client management
  • Loan lifecycle management
  • Savings and shares
  • Transaction tracking
  • Reports and analytics

Phase 2: Enhanced Features (Q1 2025)

  • Mobile Money integration (MTN, Airtel)
  • SMS notifications
  • Advanced reporting and exports
  • Bulk operations
  • API for third-party integrations

Phase 3: Scale & Expand (Q2 2025)

  • USSD access for feature phones
  • Mobile apps (iOS/Android)
  • Multi-country support
  • WhatsApp integration
  • Voice banking

🌟 Use Cases

For SACCOs

  • Manage member shares and contributions
  • Process loan applications and approvals
  • Track savings accounts
  • Generate compliance reports
  • Member self-service portal

For MFIs

  • Client onboarding with KYC
  • Group lending management
  • Repayment tracking
  • Portfolio risk analysis
  • Field officer mobile access

For Money Lenders

  • Quick loan processing
  • Collateral management
  • Payment reminders
  • Default tracking
  • Business analytics

πŸ“„ License

SenteLoans is open source software licensed under the MIT License.

πŸ™ Acknowledgments


Built with ❀️ for African SACCOs, MFIs, and Financial Cooperatives

Empowering financial inclusion through open source technology

🌍 Made in Uganda, for Africa

About

No description, website, or topics provided.

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors