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

https://github.com/jwworth/bell

My COVID-19-inspired social-distancing code/art project
https://github.com/jwworth/bell

elixir phoenix websockets

Last synced: about 1 year ago
JSON representation

My COVID-19-inspired social-distancing code/art project

Awesome Lists containing this project

README

          

# Bell

![gif](https://i.imgur.com/C7PX353.gif)

The Bell was a COVID-19-inspired social-distancing code/art project I created
and maintained from March until October of 2020.

Over the life of the project, The Bell was clicked over 4K times by ringers
around the world.

### Stack

Elixir, Phoenix, WebSockets, PostgreSQL, Gigalixir

### Purpose and Goal

The purpose of this project was to feel connected with other
people, build something calming that defied simple explanations, and direct
visitors to a charity supporting relief efforts.

### Stack Explanation

The idea chose my stack: I wanted real-time, virtually unlimited connections,
and Elixir with WebSockets exists for this use case. I chose Gigalixir because
it offers platform-as-a-service without limitations on some core Elixir
features.

### Lessons Learned

This project challenged me as a designer and as a programmer. How to I make
the bell look and feel amazing? I felt success was binary: it was either
engaging or it was not. My takeaway is that I enjoy building products that
follow my imagination.

### Development

To start your Phoenix server:

* Install dependencies with `mix deps.get`
* Create and migrate your database with `mix ecto.setup`
* Install Node.js dependencies with `cd assets && npm install`
* Start Phoenix endpoint with `mix phx.server`

Now you can visit [`localhost:4000`](http://localhost:4000) from your browser.

### Test

```
$ mix test
```

### License

MIT.

### Thank You

Thank you to everyone who rang The Bell.