Social is an open-source, modular ERP platform built specifically for Brazilian nonprofit organizations (ONGs). We believe that technology should empower social impact, not hinder it.
Built with Phoenix + LiveView, Social provides real-time, reactive interfaces for managing donations, transparency portals, financial dashboards, and organizational settings—all under a beautiful, accessible design system.
🌎 Built for Brazil | 🔒 LGPD Compliant | 🌐 i18n Ready | ⚡ Real-time Updates | 🎨 Beautiful Design
| Module | Description |
|---|---|
| 💰 Donations CMS | Manage donations and communicate with your community |
| 📊 Transparency Portal | Task-based tools for institutional transparency |
| 💼 Financial Dashboard | Income, outcomes, reports, and more |
| ⚙️ Organization Settings | Customize your organization's profile |
- Authentication: Magic link (passwordless) with RBAC
- Database: SQLite (development/production ready)
- Real-time: Phoenix LiveView for instant updates
- Internationalization: English & Brazilian Portuguese (pt-BR)
- Hosting: Docker + Fly.io ready
- CDN: Cloudflare optimized
- Design: Dark theme, blurs, and modern forms
| Technology | Purpose |
|---|---|
| Elixir 1.15+ | Core language with excellent concurrency |
| Phoenix 1.8 | Web framework with proven scalability |
| LiveView 1.1 | Real-time reactive UI |
| Tailwind CSS 4 | Utility-first CSS |
| DaisyUI 5 | Component library |
| SQLite + Ecto | Database with type-safe queries |
| Gettext | Internationalization |
| Bandit | HTTP server |
- Elixir 1.15+
- Erlang/OTP 26+
- Node.js 18+
- SQLite
# Clone the repository
git clone https://github.com/tremtec/social.git
cd social
# Install dependencies
mix setup
# Start the server
mix phx.server
# Or run in interactive mode
iex -S mix phx.serverVisit http://localhost:4000 to see your app.
# Run tests
mix test
# Run tests with coverage
mix test --cover
# Format code
mix format
# Run linter
mix precommitsocial/
├── lib/
│ ├── social/
│ │ ├── accounts/ # User authentication & RBAC
│ │ ├── organizations/ # Organization management
│ │ └── ...
│ └── social_web/
│ ├── components/ # UI components
│ ├── live/ # LiveView modules
│ │ ├── organization_live/ # Org-specific modules
│ │ │ ├── donations/ # Donations CMS
│ │ │ ├── transparency/ # Transparency portal
│ │ │ └── settings/ # Organization settings
│ │ └── user_live/ # User authentication
│ ├── controllers/ # Phoenix controllers
│ └── router.ex # Routes
├── design-system/ # Design system documentation
│ ├── colors.md
│ ├── typography.md
│ ├── spacing.md
│ └── components.md
└── priv/
├── gettext/ # i18n translations
└── repo/seeds.exs # Database seeds
Social ships with a comprehensive, documented design system:
- 🎨 Colors: OKLCH-based palette with light/dark modes
- ✏️ Typography: Consistent font scale
- 📐 Spacing: Unified spacing scale
- 🧩 Components: Reusable patterns
See design-system/README.md for details.
- Groundwork (Phoenix, Auth, SQLite, Tailwind)
- UX Design System
- Internationalization (en, pt-BR)
- Organization Onboarding
- Welcome page with create/join organization
- Invite code system
- Donations CMS
- Transparency Portal
- Financial Dashboard
- Admin Panel
Contributions are welcome! We follow a structured workflow:
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
Please read AGENTS.md for our development workflow and conventions.
This project is open source under the MIT License.
Built with 💜 by TremTec
Empowering social impact through technology