Skip to content

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.

Notifications You must be signed in to change notification settings

tusharnagar17/chatify

Repository files navigation


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
  1. About The Project
  2. Getting Started
  3. Usage
  4. Roadmap
  5. Contributing
  6. License
  7. Contact
  8. Acknowledgments

About The Project :: Check it out 🚀

Product Name Screen Shot Product Mobile

(back to top)

Features

  • 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.

Built With

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.

  • Node.js
  • Express.js
  • TypeScript
  • TailwindCSS
  • MongoDB
  • Socket.io
  • React.js
  • Docker
  • Jest

(back to top)

Getting Started

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.

Prerequisites

This is an example of how to list things you need to use the software and how to install them.

  • Nodejs
  • MongoDB

Installation

First Method

  1. Clone the repo

    git clone https://github.com/tusharnagar17/chatify.git
  2. Rename env files from .env.example to .env

    mv client/.env.example public/.env
    
    mv server/.env.example server/.env
  3. Install the dependencies

    yarn run install:client
    
    yarn run install:server
  4. 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
    
  1. Open http://localhost:3000 in your browser.

Second Method

  • 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.

(back to top)

Roadmap

  • 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).

(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

Tushar Nagar - @tusharnagar17

Live Project Link: https://chatify-web.onrender.com

Project Link: https://github.com/tusharnagar17/chatify

(back to top)

Acknowledgments

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!

(back to top)

About

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.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published