Chatify is a real-time web application for instant messaging, built with Socket.IO and Node.js. This application demonstrates the capabilities of WebSockets to facilitate live, bidirectional communication between users.
Explore the docs »
View Demo
·
Report Bug
·
Request Feature
Table of Contents
About The Project :: Check it out 🚀
-
Real-time Messaging with Socket.io : Our application leverages Socket.io to enable real-time, bidirectional communication between clients and the server.
-
Built with TypeScript for Type Safety : TypeScript enhances development efficiency and code quality by providing type safety, early error detection, and better tooling support. By catching type-related errors at compile time, we can reduce runtime errors and improve overall maintainability.
-
Styled with TailwindCSS : TailwindCSS allows for rapid UI development with a highly customizable design system. Instead of writing custom CSS for each component, you can apply utility classes directly in your HTML, resulting in more readable and maintainable code.
-
RESTful API with Express : The backend of our application is powered by Express, a minimalist and flexible Node.js web application framework.
-
Unit and Integration Testing with Jest : We ensure code quality and reliability by implementing unit and integration tests using Jest. By implementing tests, we can catch bugs early, validate that our code behaves as expected, and maintain confidence in our codebase as it evolves.
This section should list any major frameworks/libraries used to bootstrap your project. Leave any add-ons/plugins for the acknowledgements section. Here are a few examples.
This is an example of how you may give instructions on setting up your project locally. To get a local copy up and running follow these simple example steps.
This is an example of how to list things you need to use the software and how to install them.
- Nodejs
- MongoDB
-
Clone the repo
git clone https://github.com/tusharnagar17/chatify.git
-
Rename env files from .env.example to .env
mv client/.env.example public/.env mv server/.env.example server/.env
-
Install the dependencies
yarn run install:client yarn run install:server
-
Now just start the development server
-
For Frontend
yarn run dev:client
-
For backend -- Open another terminal in folder. Also make sure mongodb is running in background.
yarn run dev:server
- Open http://localhost:3000 in your browser.
-
This method required docker and docker-compose to be installed in your system.
-
Make sure you are in the root of your project and run the following command
docker compose build -f ./docker-compose-dev.yml --no-cache
-
After the build is complete run the containers using the following command
docker compose up -f ./docker-compose-dev.yml
-
Open http://localhost:3000 in your browser.
- Add Changelog
- Add back to top links
- Add Additional Templates w/ Examples
- Add "components" document to easily copy & paste sections of the readme
- Multi-language Support
- Chinese
- Spanish
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.
Tushar Nagar - @tusharnagar17
Live Project Link: https://chatify-web.onrender.com
Project Link: https://github.com/tusharnagar17/chatify
Use this space to list resources you find helpful and would like to give credit to. I've included a few of my favorites to kick things off!