https://github.com/angarsk8/chat-app-demo
Chat application developed with Kemal, React, ES2015 and PostgreSQL
https://github.com/angarsk8/chat-app-demo
chat-application crystal javascript kemal react
Last synced: 2 months ago
JSON representation
Chat application developed with Kemal, React, ES2015 and PostgreSQL
- Host: GitHub
- URL: https://github.com/angarsk8/chat-app-demo
- Owner: Angarsk8
- License: mit
- Created: 2016-07-19T09:35:12.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2017-01-06T23:15:27.000Z (almost 9 years ago)
- Last Synced: 2025-07-07T02:40:59.814Z (3 months ago)
- Topics: chat-application, crystal, javascript, kemal, react
- Language: Crystal
- Homepage: https://kemal-react-pg-chat.herokuapp.com/
- Size: 350 KB
- Stars: 16
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# React + ES2015 + Kemal + PostgreSQL Chat Example

Chat app using [React + ES2015](https://facebook.github.io/react/) + [Kemal](http://kemalcr.com) + [PostgreSQL](https://www.postgresql.org/)
This demonstrates how easy it is to build Realtime Web applications with Kemal.
* This project is a fork of https://github.com/f/kemal-react-chat, but implements ES2015 and integrates with a persistent data storage with PostgreSQL*
## Requirements
* Crystal 0.18.7
* PostgreSQL (I have the v9.5.2)
* Node (I have the v5.11.1)
* NPM (I have the v3.8.6)**Node and NPM are both optional if you are just going to run the app, but necessary for development since they are needed to run the gulp tasks*
## Installation
Before you can run this program you have to install the packages that it uses. You do that with `$ shards install `.
You also need to change the path to the PostgreSQL database in `src/db/init_db.cr` and `src/app.cr````crystal
# src/db/init_db.cr
require "pg"# Configure these two variables
DB_NAME = "db_name"
PG_PATH = "postgres://user:password@localhost:5432"...
``````crystal
# src/notes.cr
require "kemal"
require "pg"
require "./app/message"# Configure the path of the database based on what you did in the src/db/init_db.cr file
conn = PG.connect "postgres://user:password@localhost:5432/db_name...
```Once you have installed the dependencies and configured the database path, you need to create the actual database and table for the application. You do that by running `$ crystal src/db/init_db.cr`.
## Run Project
You can run this program in two ways:1. Compile/build the project using the command line with `$ crystal build src/app.cr --release` and run the executable `$ ./app`
2. Run the program with `$ crystal src/app.cr` (no compilation required)Once you have run the program, you can open a browser window at [localthost:3000](http://localhost:3000) and see the actual app.
## Live Demo
You can see and use a live demo of the app here: [kemal-react-pg-chat.herokuapp.com](https://kemal-react-pg-chat.herokuapp.com/).