Skip to content

Benefactorum/app

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Benefactorum

Benefactorum is a non-profit, collaborative donation platform that enables French donors to easily discover and support the causes they care about.

Features

When Benefactorum is feature-complete, here's what you'll be able to do.

  1. Find Associations: Discover organizations that align with your values.
  2. Make Donations: Donate directly through Benefactorum.
  3. Stay in Control: Manage your recurring donations and keep track of your tax benefits with ease.

Tech Stack

Backend

  • Ruby on Rails 8: Provides a robust and maintainable backend foundation.
  • SQLite: Lightweight and efficient database for streamlined deployment and development. Litestream replication.

Frontend

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

Build & Deployment

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

Installation & Setup

Prerequisites

  • Docker

Steps

  1. Clone the repository:

    git clone https://github.com/Benefactorum/app benefactorum
    cd benefactorum
  2. 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.

  3. Inside the dev container, start the development server:

    bin/dev

    Note: With VS code, run this command inside the integrated terminal.

  4. Open your browser and navigate to:

    http://localhost:3000
    

Testing

Run tests to ensure stability:

bundle exec rspec # Backend & e2e tests
yarn test         # Frontend tests

Contributing

We welcome contributions! To contribute:

  1. Fork the repository.
  2. Create a new branch:
    git checkout -b branch-name
  3. Commit your changes:
    git commit -m "Add your commit message"
  4. Push your branch and open a Pull Request.

Please follow the coding standards enforced by Standard Ruby and ts-standard.

License

This project is licensed under the GNU GPLv3 License.

Contact

For any inquiries, feel free to reach out: