Benefactorum is a non-profit, collaborative donation platform that enables French donors to easily discover and support the causes they care about.
When Benefactorum is feature-complete, here's what you'll be able to do.
- Find Associations: Discover organizations that align with your values.
- Make Donations: Donate directly through Benefactorum.
- Stay in Control: Manage your recurring donations and keep track of your tax benefits with ease.
- Ruby on Rails 8: Provides a robust and maintainable backend foundation.
- SQLite: Lightweight and efficient database for streamlined deployment and development. Litestream replication.
- React with TypeScript: Ensures a dynamic and type-safe front-end experience.
- Inertia.js: Bridges the gap between Rails and React for fast single-page app functionality. Server Side Rendering (SSR).
- TailwindCSS: Provides a modern, responsive, and customizable UI.
- shadcn/ui: Reusable components for consistent design.
- Vite: Efficient asset bundling and faster development builds.
- Kamal: Simplified deployment to Scaleway VPS.
- GitHub Actions: Manages CI/CD workflows for testing and deployment.
- Dev Container: Ready-to-use, containerized development environment.
- Docker
-
Clone the repository:
git clone https://github.com/Benefactorum/app benefactorum cd benefactorum
-
Set up the development container.
Example using Visual Studio Code:
code .
Then click on popups to install Dev Containers extension and 'Reopen in Container'
Note: You can achieve this setup with any Dev Containers-compatible tool.
-
Inside the dev container, start the development server:
bin/dev
Note: With VS code, run this command inside the integrated terminal.
-
Open your browser and navigate to:
http://localhost:3000
Run tests to ensure stability:
bundle exec rspec # Backend & e2e tests
yarn test # Frontend tests
We welcome contributions! To contribute:
- Fork the repository.
- Create a new branch:
git checkout -b branch-name
- Commit your changes:
git commit -m "Add your commit message"
- Push your branch and open a Pull Request.
Please follow the coding standards enforced by Standard Ruby and ts-standard.
This project is licensed under the GNU GPLv3 License.
For any inquiries, feel free to reach out:
- Email: [email protected]
- Manifesto: benefactorum.org
- Web app: https://staging.benefactorum.org (WIP)