Skip to content

savchukrm/chat

Repository files navigation

Ok to Talk - Chat Application

Welcome to Ok to Talk, a chat application that allows users to communicate with others through various chat categories. This README provides an overview of the project, its features, setup instructions, list of dependencies, and the technologies used.

Table of Contents

Introduction

Ok to Talk is a chat application designed to connect users with others based on shared interests. Users can create and participate in chats categorized by topics, select their preferred language, and enjoy both public and private conversations. The application supports authentication through email and Google accounts, and users have control over their profiles and chat settings.

Features

  • Authentication: Users can sign up and log in using their email or Google accounts.
  • Chat Categories: Users can explore and join chat categories based on their interests.
  • Language Selection: Users can select their preferred language for chats.
  • Public Chats: Users can engage in conversations within public chats.
  • Private Messaging: Users can have private conversations with other users.
  • Chat Creation: Users can create their own chats, choose categories, and set language preferences.
  • Profile Management: Users can customize their profiles by adding profile photos, changing email addresses, and updating their names.

Usage

  1. Register or log in using your email or Google account.
  2. Explore and join chat categories that interest you.
  3. Engage in public chats by selecting a chat category and language.
  4. Create your own chats, customize settings, and invite others to join.
  5. Manage your profile settings, including adding a profile photo and updating your information.
  6. Initiate private conversations with other users.

Technologies Used

  • TypeScript: Enhances scalability and maintainability by providing static typing.
  • Redux Toolkit: Enhances the development process, improves code quality, and efficiently manages the application's state.
  • React Redux: Enables the integration of Redux with React for state management.
  • Axios: Facilitates making HTTP requests in the application.
  • Firebase: Provides backend services such as Google authentication.
  • Formik: Simplifies form handling and validation in the application.

Dependencies

The project uses the following dependencies:

  • @reduxjs/toolkit: A comprehensive Redux library that simplifies the state management process by providing utilities and abstractions.

  • axios: A promise-based HTTP client for making requests to APIs and handling responses.

  • firebase: A platform that offers various backend services, including authentication, real-time databases, and cloud functions.

  • formik: A library for managing forms in React applications, simplifying form handling and validation.

  • react-icons: A collection of customizable icon components for React applications.

  • react-redux: The official Redux binding for React, allowing components to connect with the Redux store.

  • react-router-dom: A widely used routing library for creating navigation in React applications.

  • typescript: A superset of JavaScript that adds static types to enable better development tooling and fewer runtime errors.

Contributing

Contributions are welcome! If you have suggestions or would like to report issues, please create an issue in the GitHub repository.


Thank you for choosing Ok to Talk for your chat application needs! If you have any questions or need assistance, feel free to reach out to our team. Happy chatting!