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
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.
- 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
- When using SQLite database, creating room will direct to wrong room**
-
npm
Recommend using nvm for Node version management
-
python
Recommend using miniconda for Python version management miniconda
- in MacOS
- Clone the repo
git clone https://github.com/yingtu35/Lets-Chat.git
- Create a virtual environment (optional)
python -m venv .venv source .venv/bin/activate
- Install required python packages through
requirements.txt
pip install -r requirements.txt
- Create a .env file in the root directory, add the following environment variables
Read flask-sqlalchemy configuration here for connecting to your database Read google_API here for setting up your google client id.
SECRET_KEY=PASTE_YOUR_SECRET_KEY_HERE SQLALCHEMY_DATABASE_URI=PASTE_YOUR_DATABASE_URI_HERE CLIENT_ID=PASTE_YOUR_GOOGLE_API_CLIENT_ID_HERE
- 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
- Install all dependencies for the client app
cd client npm install
- Run
main.py
in the root directory to start the apppython main.py
Enjoy the short demo using ios simulator to see how Lets-Chat works.
- 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).
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!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Distributed under the MIT License. See LICENSE.txt
for more information.
Your Name - @YingTu1685990 - yingtu35@gmail.com
Project Link: https://github.com/yingtu35/Lets-Chat