Skip to content

pbu-projects/Kaiju

Repository files navigation

Volunteer Monster

Great projects need people, and people want to do good. Volunteer Monster empowers both by equipping organizers with the volunteers they need to get things done, and giving individuals an easy way to put their time to good use.

However it is you'd like to help, we're thrilled to have you!

Our Design Priorities

We can summarize our priorities in three main points: No Bloat, No Bandwagon and User Focus.

No bloat

We deliver what's needed and keep it simple. We do this by clearly identifying target audiences and deliverables, we course correct at every iteration, and we do not do waterfall in sprints

No Bandwagon

Our toolset is based on real-world impact, not bandwagon tech trends. Building with Java means we're building with the same foundation that runs the world.

User Focus

Whether a piece of software is built with the fastest, loosely coupled, cloud native, kubernetes, (insert whatever new tech is the cool kid on the block) we honestly dont care. On the other hand, we wouldn't care if we pulled back the curtain and saw that the tech stack was a hamster lazily jogging on a hamster wheel. At the end of the day, we just want to make sure our design and test suite accurately personifies the users' need and that those tests pass. If that is the case, just give the hamster a high five and move on.

How We Build

To maintain our high standards, we rely on a carefully chosen set of tools.

Micronaut and GraalVM

Our core application is built using an optimized framework that allows us to compile our project into stupidly quick executables which can run anywhere (server, cloud, whatever).

Location & Data

Since this platform revolves around physical locations, we're not going to try and reinvent the wheel. Instead, we use a tried and true database extension to do this work quickly and correctly.

JTE front end

We want fast, SEO-friendly, and easy to write and quick to load front ends, so we use pure, server-rendered templates rather than heavy client-side scripts.

Compose Multiplatform

For complex, logged-in dashboards and our future mobile applications, we use a unified, shared interface toolkit that lets us write the same front end logic for ios, android, mac, windows, and linux.

Identity Security

We never store passwords or handle login security directly. We hand all of that high-liability work off to a dedicated, self-hosted identity manager and simply enforce the rules it hands back to us, leaning into Micronaut's framework once again for simplicity and stability.

Our Testing Culture

We do not care about vanity metrics like "100% test coverage". Instead, we care entirely about validating documented behavior. A failing test is not a problem to be "fixed" - it is a clear signal that our documentation and our code are no longer in sync, and it must be updated so that the two match once again.

When you write tests for Volunteer Monster, you will use a highly readable, specification-driven testing tool called Spock that reads like plain English. If a feature or user journey is documented, it must be proven in a test. To ensure absolute reliability, all of our database tests run automatically against completely isolated, temporary data environments that destroy themselves the moment the test finishes.

About

Volunteer Monster project

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors