π»πΌπ±π·π»πΌπ±π·π»πΌπ±π·π»πΌπ±π·π»πΌπ±π·π»πΌπ±π·π»πΌπ±π·π»
Community Garden is an experimental game and an exploration of web community models.
It is also a learning project designed to allow me to explore full-stack app development, specifically in integrating a modern frontend web framework with a robust backend, as well as best practices in UX & accessibility, authentication & security, Python OOP, and general systems design. The app's frontend (built in SvelteKit) talks to a Django backend, which uses PostgreSQL as its database. Within the Django backend, Channels handles WebSocket connections.
The UI is compromised of 4 main parts:
The design of this app is informed by my experience in game studies and critical theory. I hoped to create an experience that encourages communitarian, mutualistic, and coordinated behavior through its design, rather than through strict guidelines or moderation (though some version of these will probably need to come into play eventually).
The nature of the app requires users to coordinate their tending of the plants, since any user can take any action toward any plant, but over-tending (e.g. through overwatering) will cause a plant to die. If a player takes intentionally destructive action toward the garden, their actions will be logged publicly and kept in record forever. I'll probably add a voting system for removing users permanently, but that is outside the current scope of the project.
The app uses Docker for development. There is not currently a production version.
To build and run the app locally, run
docker-compose up -d