https://github.com/zorn/flick
Flick is a simple Elixir / Phoenix LiveView app that helps capture ranked votes.
https://github.com/zorn/flick
elixir elixir-lang phoenix-framework phoenix-liveview ranked-voting
Last synced: 3 days ago
JSON representation
Flick is a simple Elixir / Phoenix LiveView app that helps capture ranked votes.
- Host: GitHub
- URL: https://github.com/zorn/flick
- Owner: zorn
- License: mit
- Created: 2024-04-03T00:07:29.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2025-09-11T18:22:28.000Z (5 months ago)
- Last Synced: 2025-10-10T15:54:36.297Z (4 months ago)
- Topics: elixir, elixir-lang, phoenix-framework, phoenix-liveview, ranked-voting
- Language: Elixir
- Homepage: https://rankedvote.app
- Size: 2.96 MB
- Stars: 17
- Watchers: 1
- Forks: 2
- Open Issues: 52
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Flick

Flick is a simple Elixir / Phoenix LiveView app that helps capture ranked votes. You can see this project in action at .
This project was built to help the [Elixir Book Club](https://elixirbookclub.github.io/website/) pick books, but it is open to all.
## Highlights
- No accounts are needed to create ballots or cast votes.
- Votes are ranked votes that help find a better overall consensus.
- Individual voters can be weighted.
- A ballot can be closed, stopping future votes from being cast.
## Notable Future Enhancements
- The project is very trusting and has no aggressive security against people voting more than once. Flick is intended for honest polling.
- The ballot creation form asks users to enter comma-delimited options, and I'd like to revert this to dynamic inputs to allow more user-friendly entry of long option names.
- See [Issues](https://github.com/zorn/flick/issues) for more.
## Project Demo
YouTube:
## Screenshots




## Running in Local Development
### Install Elixir via `asdf`
This project is built using Elixir and Erlang, and as such we define specific version targets using `.tool-versions` a file format of the [asdf project](https://asdf-vm.com/). Please refer to it for [various installation options](https://asdf-vm.com/guide/getting-started.html). Once installed, run the following from the project root to make sure you have the required versions.
```bash
$ asdf install
```
### Start Postgres
This project requires a Postgres database for storage and a Docker Compose file to run a containerized version is provided via `compose.yml`. You are not required to run Postgres via a container, and a standard on metal installation should work fine too.
Before attempting to run the Phoenix app, be sure to start the Docker container with:
```bash
$ docker compose up -d
```
To shutdown you can run:
```bash
$ docker compose down -d
```
### Start Phoenix
To start your Phoenix server:
* Run `mix setup` to install and setup dependencies
* Start Phoenix endpoint with `mix phx.server` or inside IEx with `iex -S mix phx.server`
Now you can visit [`localhost:4000`](http://localhost:4000) from your browser.
Ready to run in production? Please [check our deployment guides](https://hexdocs.pm/phoenix/deployment.html).
## Learn more
* Official website: https://www.phoenixframework.org/
* Guides: https://hexdocs.pm/phoenix/overview.html
* Docs: https://hexdocs.pm/phoenix
* Forum: https://elixirforum.com/c/phoenix-forum
* Source: https://github.com/phoenixframework/phoenix