csantiago132 / chat-app

A CRUD (Create, Read, Update, Delete) chat application built with Typescript, React, Styled-Components,Firebase and Immutable.JS.
MIT License
9 stars 3 forks source link
firebase immutablejs react slack-clone styled-components typescript

Chat App

Codacy Badge code style: prettier style: styled-components


slack-chat preview

A CRUD (Create, Read, Update, Delete) chat application built with Typescript, React, Firebase and Immutable.JS.

Read the documentation here

Prerequisites

  • Yarn >= 1.5.x
  • Node >=8.x

Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.

  1. Clone this repo using git clone https://github.com/csantiago132/chat-app.git
  2. Move to the appropriate directory: cd chat-app
  3. Register a database with Firebase
  4. Write a .env file in the root of the project and put your configuration
  REACT_APP_FIREBASE_API_KEY=your_api_key

  REACT_APP_FIREBASE_DOMAIN=your_auth_domain

  REACT_APP_FIREBASE_DB_URL=your_firebase_url

  REACT_APP_FIREBASE_MESSAGING_SENDER_ID=your_project_id

  REACT_APP_FIREBASE_PROJECT_ID=your_storage_bucket

  REACT_APP_FIREBASE_STORAGE_BUCKET=your_messaging_id

(This is used on the main state of the App/index container)

  1. Run yarn install or npm install in order to install dependencies
  2. Run yarn start or npm start
  3. The project will be available on http://localhost:4000

Features

Sidenote:

UI and UX improvements are in the works, the main priority on my end has been creating the logic, incorporate Typescript, setting up state with Immutable.JS and making sure that the CRUD concepts are covered before moving on.

TODO List

In the near future, I want to add:

Built With

Versioning

I use SemVer for versioning. For the versions available, see the tags on this repository.

Authors

License

This project is licensed under the MIT License - see the LICENSE.md file for details

Acknowledgments