Skip to content
This repository was archived by the owner on Nov 6, 2026. It is now read-only.
code4romaniaPublic archive

About

Resources

Code of conduct

Contributing

Security policy

Stars

5 stars

Watchers

6 watching

Forks

Latest commit

 

History

593 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Bursa Binelui

GitHub contributors GitHub last commit License: MPL 2.0

Bursa Binelui is a civic-tech platform that connects NGOs with donors and volunteers. Organizations register, publish projects, and collect donations. Donors give to approved projects, and volunteers offer their time to organizations and projects.

The app is PHP 8.2 and Laravel 10 on the backend, with Vue 3, Inertia.js, and Tailwind CSS on the frontend. Filament v2 is the admin panel.

See the project live

Contributing | Built with | Development | Deployment | Feedback | License | About Code for Romania

Contributing

This project is built by amazing volunteers and you can be one of them! Here's a list of ways in which you can contribute to this project. If you want to make any change to this repository, please make a fork first.

Help us out by testing this project in the staging environment. If you see something that doesn't quite work the way you expect it to, open an Issue. Make sure to describe what you expect to happen and what is actually happening in detail.

If you would like to suggest new functionality, open an Issue and mark it as a [Feature request]. Please be specific about why you think this functionality will be of use. If you can, please include some visual description of what you would like the UI to look like, if you are suggesting new UI elements.

Built With

  • Languages: PHP 8.2, JavaScript
  • Backend: Laravel 10, Filament v2
  • Frontend: Vue 3, Inertia.js, Tailwind CSS
  • Package managers: Composer, npm
  • Database: MySQL or MariaDB

Development

Prerequisites

  • PHP 8.2 or newer, with the pdo_mysql, mbstring, gd, intl, zip, and exif extensions
  • Composer
  • Node.js 20 and npm. The repo pins the version in .nvmrc, so nvm use selects it.
  • MySQL or MariaDB
  • Laravel Herd is optional. The built-in PHP server works too.

Install

  1. Copy the environment file:
cp .env.example .env
  1. Create a database named bursa_binelui.

  2. Point .env at your local MySQL server. .env.example uses the hostname mariadb, which is only reachable from a container. On the host machine, set:

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=bursa_binelui
DB_USERNAME=your_user
DB_PASSWORD=your_password

Cache and queues already use CACHE_DRIVER=file and QUEUE_CONNECTION=sync, so a local Redis server is not required.

  1. Install PHP dependencies:
composer install
  1. Install JavaScript dependencies:
npm install
  1. Generate the application key:
php artisan key:generate
  1. Migrate and seed:
php artisan migrate:fresh --seed

Seeding creates a large set of organizations and articles, so it can take a while. If it fails on a Faker date, run the same command again.

  1. Link the public storage disk:
php artisan storage:link
  1. Turn off Content Security Policy for local development by adding this to .env:
CSP_ENABLED=false

CSP is enabled by default. Keep that setting for local development only.

  1. Set APP_URL to the URL you will open in the browser:
  • Laravel Herd: APP_URL=https://bursabinelui.test
  • Built-in PHP server: APP_URL=http://127.0.0.1:8000

Run

Start the Vite dev server:

npm run dev

Then serve PHP with one of these options.

Laravel Herd. Link this project in Herd, select PHP 8.2, and enable HTTPS. Open https://bursabinelui.test.

Built-in PHP server. In a second terminal:

php artisan serve

Open http://127.0.0.1:8000.

Seeded accounts

php artisan migrate:fresh --seed creates these users. The password for both is password.

Email Role
superadmin@example.com Super admin. Signs in at /admin.
supermanager@example.com Super manager

Optional services

GOOGLE_MAPS_API_KEY enables the county map. Mail, S3, EuPlatesc, Mailchimp, and Sentry can stay empty while you work locally.

npm run dev is enough for day-to-day work. npm run build compiles the client and SSR assets used by the production image. That image starts server rendering with php artisan inertia:start-ssr.

Tests

php artisan test

Feature tests use RefreshDatabase and run against the database configured in .env. phpunit.xml keeps the MySQL connection. Point DB_* at a separate database before you run the suite, so the refresh does not wipe your development data.

Deployment

Production runs from the Dockerfile. The image installs PHP dependencies, builds the Vite client and SSR bundles, and serves the app with nginx and PHP-FPM, plus a queue worker, cron, and the Inertia SSR process. Process configuration lives in docker/.

Local installation is described in Development.

Feedback

  • Request a new feature on GitHub.
  • Vote for popular feature requests.
  • File a bug in GitHub Issues.
  • Email us with other feedback contact@code4.ro

License

This project is licensed under the MPL 2.0 License - see the LICENSE file for details

About Code for Romania

Started in 2016, Code for Romania is a civic tech NGO, official member of the Code for All network. We have a community of around 2.000 volunteers (developers, ux/ui, communications, data scientists, graphic designers, devops, it security and more) who work pro-bono for developing digital solutions to solve social problems. #techforsocialgood. If you want to learn more details about our projects visit our site or if you want to talk to one of our staff members, please e-mail us at contact@code4.ro.

Last, but not least, we rely on donations to ensure the infrastructure, logistics and management of our community that is widely spread across 11 timezones, coding for social change to make Romania and the world a better place. If you want to support us, you can do it here.

About

Resources

Code of conduct

Contributing

Security policy

Stars

5 stars

Watchers

6 watching

Forks

Sponsor this project

Used by

Contributors

Languages