Finally, an open-source custom chatting application that doesn't suck, built by a person that loves 🍊oranges.
orangechat.tech
. There may be bugs or security vulernabilities in the program running it on your computer. Orange is not liable for any damage commited to your computer if there are any issues during installation.
- Python 3.8 or higher installed(tested and developed using Python 3.11.2)
- A Mac, Windows, or Linux system
- Admin access to your system
If you don't have python installed, you can install it from their official website here, or use other alternatives such as anaconda, homebrew, e.t.c. However, we recommend installing it directly from python's official website as it reduces a lot of complications.
Clone the repository in your local system. You can do so using the following command line code or just click the green button and then click 'Download ZIP':
If you want to run the command line code, go to your terminal(mac/linux) or command prompt(windows) and copy/paste the following code:
git clone https://github.com/rrcoder0167/Orange-Chat
Now, unzip the folder(if you downloaded it using github.com, if you used command line you don't need to do anything). Then, go to your terminal/command prompt and type in cd
followed by a space. After that, drag the folder that says 'Orange-Chat' from your downloads in your file explorer(windows)/finder(mac) and drop it into your terminal. Then, click enter.
The end result will probably look something like this:
cd /path/to/folder/Orange-Chat
Create a virtual environment for python by running this line in your terminal:
python3 -m pip install venv
Then, activate the virtual environment(or venv for short) by running(MacOS and Linux)
source .venv/bin/activate
or for Windows do
.venv\bin\activate
Now that the virtual environment is activated, install the requirements by doing pip install -r requirements.txt
or if that doesn't work, run pip3 install -r requirements.txt
After that, set the environment variables by running the following code. These are just temperorary and get removed after restarting or shutting down your computer:
To set the MONGO_URI
variable, for MacOS or Linux run:
export MONGO_URI=mongodb+srv://rrcoder0167:[email protected]/chat_db
For Windows, you can do
set MONGO_URI=mongodb+srv://rrcoder0167:[email protected]/chat_db
Lastly, set the SECRET_KEY
environment variable for the flask authentication cookies. You can do any value you want although we recommend a secure string like this 36024aafe2dbe4b763921f96244aa393
. You can also generate a random secure password from here. To set the SECRET KEY, for Mac/Linux do
export SECRET_KEY=put_your_random_string_here
or for windows do
set SECRET_KEY=put_your_random_string_here
That's it! You're all done! Now, just run flask run
in your terminal. When you type that in, you should get something like this in your terminal:
* Debug mode: off
WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.
* Running on http://127.0.0.1:5000
Press CTRL+C to quit
The last thing you have to do is go to your web browser and type in the link http://127.0.0.1:5000
or whatever url shows up when you run flask run
. If you want to quit the program, just go back to your terminal and do control + c on your keyboard. At times, the program may not work if there is a certain error that I'm trying to fix on my local copy, not commited to github. If there are any issues or features you would like to suggest, add a bug or issue in this github repo.
- Starting the Project and Creating the initial landing page
- Creating the Login/Signup Page
- Adding the User basic html and css template
- Adding accept/decline/cancel friend requests feature
- Adding Friends to program
- Converting from SQL Alchemy to MongoDB
- Creating new UI Profile Button
- Creating the Landing Page
- Creating the new Chatting UI(Home Button, Status, Conversations, About, e.t.c]
What I'm working on now: Working on the New UI for the application
Project started on Jan. 10, 2023
Hey there! I'm Riddhiman, the sole developer of Orange Chat. I created Orange Chat to be an open-source alternative application to google chat/discord with fun perks and all the features that I felt other alternatives lacked on. Some of these features include, lack of support for my favorite fruit, fun easter eggs and perks, and something that I feel I can own, to create something that felt customized for me, my friends, and everyone that uses it.
If you want to collaborate or reach out to me for anything, you can dm me on discord here:
or on my google chat which is [email protected]
You can also join my discord server here.
Thanks for checking this project out!
- Riddhiman Rana: Orange Chat CEO and Developer
- Aarnav Anand: Orange company name creator
- Shankara Mohan: UI Design Ideas
- Abhinav Venkat: Minor Development Help
- My friends: Support during project creation