Skip to content
Live Qchatex, an open sourced web application done by Fiqus for educational and experimental purposes.
Elixir CSS JavaScript HTML
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
assets
config Implementing Handlers behaviour for common messages handling at live … Aug 17, 2019
lib Adding link to app overview PDF at main menu. Aug 28, 2019
priv/gettext Initial commit! Jun 1, 2019
test Adding support for private chats! Aug 5, 2019
.formatter.exs Initial commit! Jun 1, 2019
.gitignore
.tool-versions Trying to get working the gigalixir build. Aug 11, 2019
LICENSE.md Initial commit! Jun 1, 2019
README.md
compile Adding gigalixir files. Jun 9, 2019
elixir_buildpack.config Creating phoenix_static_buildpack.config to set the nodejs version fo… Aug 11, 2019
mix.exs Implementing Handlers behaviour for common messages handling at live … Aug 17, 2019
mix.lock Updating deps. Aug 18, 2019
phoenix_static_buildpack.config Trying to get working the gigalixir build. Aug 11, 2019

README.md

Live Qchatex

Open sourced web application done by Fiqus for educational and experimental purposes.

The idea was to research and practice about Phoenix LiveView implementation and to play around a little with Phoenix PubSub + Presence for sockets, using Memento as Elixir wrapper to Erlang Mnesia for data storage.

Live Qchatex is a very simple and quick chat engine that allows you to create and join chat rooms on-the-fly.
Don't need to register, just enter a nickname and you are ready to go!
NOTE: All chats, messages and users are automatically deleted after a certain period of inactivity.

App overview PDF: lqchatex-overview.pdf

Live running demo at: https://lqchatex.fiqus.coop/

Hosted by gigalixir.

Development

Pre-requisites

You will have to install:

  • Elixir 1.8 or later
  • Erlang/OTP 20 or later
  • Node.js 5 or later

Start the server

  • Install dependencies with mix deps.get
  • Install Node.js dependencies with cd assets && npm install
  • Start Phoenix endpoint with mix phx.server

You can now visit http://localhost:4000 from your browser!

Test

  • mix test - run the tests
  • mix coverage - for test coverage

Mnesia

  • mix mnesia.reset - remove the mnesia storage directory from disk
You can’t perform that action at this time.