An open API service indexing awesome lists of open source software.

https://github.com/bitspook/entropy

Entropy Chandigarh Hackerspace
https://github.com/bitspook/entropy

community hackerspace

Last synced: 3 months ago
JSON representation

Entropy Chandigarh Hackerspace

Awesome Lists containing this project

README

          

#+title: Entropy

Entropy helps a tech community run and manage itself. It provides a platform
where people can come together to discuss things, set goals for themselves, and
approach methodically to achieve them.

** Goals

*** Individual Freedom

Being a part of the community should not mean compromising an individual's
freedom. To ensure this, Entropy allows contribution at any level of anonymity a
member wants.

This expands to other aspects of how Entropy guides a community. Law of a
passive majority should not force individuals against their wishes. Contributors
should be valued more than passive members.

*** Freedom of ownership

Those who contribute to the group should have ownership over it. Any member can
achieve decision making power by contributing more.

*** Methodical

Entropy should help its members take more methodical approach to achieve their
goals. It should actively guide towards approaches which are:

1. Measurable
2. Achievable
3. Encourage collaboration

*** Ownership of content

Content created by members of the group should belong to the individual members.
A group shutting down, which means the Entropy app, and all user generated
content on it disappearing from the web, should not cost a member their content.
Because the member owns their content.

Entropy app should shield users in above mentioned scenario.

*** Cost efficient

Running the Entropy should not put a stress on the community. Entropy actively
tries to make it possible to run itself for as little money as possible.

#+begin_quote
Current implementation of Entropy can be built to a static site, and hosted 100%
for free.
#+end_quote

** Development

*** Setup

Entropy uses nix for setting up its development environment. That means you
don't need to install *anything* except nix itself on your machine to work with
Entropy.

Prerequisites:

1. [[https://nix.dev/tutorials/install-nix][Install nix]]
2. [[https://nixos.wiki/wiki/Flakes][Enable nix flakes]]

Run following command to ensure that nix downloads and sets up all the required
dependencies (including rust, rust-analyzer, postgresql etc).

#+begin_src sh
nix develop
#+end_src

It is recommended to use [[https://direnv.net/][direnv]], which will allow you to work with development
environment provided by nix, while keeping staying in your own terminal (=nix
develop= drops you in a blank bash prompt).

*** Usage

Entropy app itself can be built with standard cargo commands.

#+begin_src sh
cargo build # Build a debug binary
cargo build --release # Build release binary
cargo run -- --help # Build and run the app, and view CLI help
#+end_src

**** Start development database

To start the development database and other infrastructure, run:

#+begin_src sh
cargo make start infra
#+end_src

Explore [[file:Makefile.toml][Makefile.toml]] for more tasks (e.g to start only database)

* Entropy Hackerspace

Entropy is being used by Entropy Hackerspace (https://entropyhacker.space). You
can join the community on following platforms:

** Chat

- Matrix Space: https://matrix.to/#/!EJjSPytjXwjJyODGWC:matrix.org?via=matrix.org
- Telegram Group: https://t.me/joinchat/QiQGasCqA205OWM9
- Discord: https://discord.gg/y74NHawxTA

All the chat mediums are bridged, so you can connect to any one of them and communicate
with the same group of people.