Skip to content

yingtu35/Lets-Chat

Repository files navigation

Contributors Forks Stargazers Issues MIT License LinkedIn


Logo

Lets-Chat

A web application for you and your friend to chat anywhere you want at any time!
Explore the docs »

View Demo · Report Bug · Request Feature

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Roadmap
  5. Contributing
  6. License
  7. Contact
  8. Acknowledgments

About The Project

product_image

Lets-Chat is a web application built on React and Flask.

Using WebSocket protocol, users can chat easily in chat rooms they create or from other users.

(back to top)

Built With

  • socketdotio
  • React
  • Python
  • MUI
  • Flask

(back to top)

Getting Started

Known Issues

  1. Currently there are issues related to gsi so that the backend flask server cannot host the frontend production code.** To test the application in development mode, you have to run the flask server and frontend as separated applications
  2. When using SQLite database, creating room will direct to wrong room**

Prerequisites

  • npm

    Recommend using nvm for Node version management

    nvm

  • python

    Recommend using miniconda for Python version management miniconda

Installation

  • in MacOS
  1. Clone the repo
    git clone https://github.com/yingtu35/Lets-Chat.git
  2. Create a virtual environment (optional)
    python -m venv .venv
    source .venv/bin/activate
  3. Install required python packages through requirements.txt
    pip install -r requirements.txt
  4. Create a .env file in the root directory, add the following environment variables
    SECRET_KEY=PASTE_YOUR_SECRET_KEY_HERE
    SQLALCHEMY_DATABASE_URI=PASTE_YOUR_DATABASE_URI_HERE
    CLIENT_ID=PASTE_YOUR_GOOGLE_API_CLIENT_ID_HERE
    Read flask-sqlalchemy configuration here for connecting to your database Read google_API here for setting up your google client id.
  5. Create a .env file in the client directory and add the REACT_APP_CLIENT_ID that has the same value as CLIENT_ID you added in the previous step
    REACT_APP_CLIENT_ID=PASTE_YOUR_GOOGLE_API_CLIENT_ID_HERE
  6. Install all dependencies for the client app
    cd client
    npm install
  7. Run main.py in the root directory to start the app
    python main.py

(back to top)

Usage

Enjoy the short demo using ios simulator to see how Lets-Chat works.

Demo

product_image

(back to top)

Roadmap

  • Allow users to create private room
  • Responsive web design
  • Rooms are paginated
  • Add other third party social login
  • Friend systems
  • Welcome any new advice!

See the open issues for a full list of proposed features (and known issues).

(back to top)

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

(back to top)

License

Distributed under the MIT License. See LICENSE.txt for more information.

(back to top)

Contact

Your Name - @YingTu1685990 - yingtu35@gmail.com

Project Link: https://github.com/yingtu35/Lets-Chat

(back to top)

Acknowledgments

(back to top)

About

A chat application built on React and Flask

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published