digital spaces
Secure, affordable, private digital spaces for work and play.
Convene secure, affordable, always-available digital Spaces where anyone can
(play || work || grow || be). 🎲 👩💻 🌱 🛋️
Convene is an Operating System for Community Owned Digital Infrastructure.
Once deployed to a server, Convene is accessed by any web browser.
Convene serves as a community-owned, more ethical alternative to investor-owned online tools like
SquareSpace, Etsy, Patreon, Zoom, Yelp, and more.
A Convene Deployment is a Neighborhood. People create Spaces in a Neighborhood, and fill those Spaces
with Furniture to meet their collective digital needs. For example:
You can see more in the Zinc neighborhood.
We have two milestones we are working towards:
Zinc maintains a Convene Neighborhood at https://convene.zinc.coop. For people
who want to run their own Neighborhood of Spaces, consider purchasing a Convene
Operator License.
Individuals and non-commercial organizations may run their own Convene
deployment however they see fit without requiring payment.
However, if the person or organization engages in commerce, defined as taking
currency in exchange for goods or services, then the organization must purchase
a license to use Convene.
Pricing is determined on a case-by-case basis. Please reach out to
[email protected]
for licensing information.
Organizations and individuals who are comfortable relying on free Community
Support are encouraged to start a discussion. Maintainers
respond as they are available.
Paid support is available for \$135 USD per hour1.
We're always excited for new contributors! Read more in our
[guide to contributing, located in CONTRIBUTING.md](./CONTRIBUTING.md)
The central piece of Convene is a Ruby on Rails server that is responsible for:
This high level view of our design
shows the personas and segments we are focusing on initially with
Convene. It also includes our current vision of the types of spaces, rooms and participants it
serves and clarifies the design of privacy permissions.
The Convene UI is based on Rails standard templating system, with heavy use of:
app/javascript/controllers/index.js
,
which loads all app/javascript/*_controllers.js
filesSee [Architecture](./CONTRIBUTING.md#11-architecture) for how Convene is architected.
See [Developer setup and documentation](./CONTRIBUTING.md#2-machine-setup).
To run pry
or byebug
, run bin/connect web
.
Set [SMTP_* environment variables to configure Action Mailer](.env.example).
To preview mailers, visit http://localhost:3000/rails/mailers/
The Convene interface is tested in two ways:
spec
folder](./spec)features
folder](./features)Many enhancements and fixes can be made without updating the story tests, while
almost all changes will want updated unit or integration tests.
For story tests, we use Cucumber to encourage us to write tests as
human-friendly documentation.
For unit and integration tests, we use RSpec. RSpec is a nice complement to
Cucumber, in that it allows us to directly integrate with the underlying Ruby
and Rails code without writing human or computer interfaces that require
inter-process communication.
This helps us write small, focused tests that deal with 1~3 Ruby classes instead
of having to spin up a working instance of the entire application.
Tests that need database access should require "rails_helper"
, and tests that
can be executed without a database should require "spec_helper"
.
features
folderLast updated: April 2021
[](./docs/features-overview.jpg)
Original on Miro: https://miro.com/app/board/o9J_lLrbz1g=/
Convene is maintained by a dedicated community of volunteer Contributors and
Maintainers known as the Zinc Collective, a digital product and services
cooperative.
We have a Pledge and Code of Conduct.
And anyone can become a contributor
and/or maintainer.
Our paid support rate is pegged to 3x the San Francisco Living Wage for a
couple with a single worker raising three children.
This rate is negotiable for organizations that offer Zinc a patronage
account or corresponding equity stake.
Paid support clients may also request a deferred payment program, with terms to
be determined on a case-by-case basis.