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

No packages published