Skip to content

dominguetigs/chat-bot-experiment

Repository files navigation

Chat Bot Experiment

Node.js version NPM version ReactJS version Made by Gustavo Domingueti

Table of Contents

πŸ”– About

A modern and interactive chat bot application built with React, TypeScript, and Vite. This project features a beautiful UI with animations, dark mode support, and a responsive design.

🎯 Features

  • Modern and responsive UI
  • Dark mode support
  • Smooth animations with Framer Motion
  • Toast notifications
  • Accessible components with Radix UI
  • Type-safe development with TypeScript
  • State management with Zustand
  • Beautiful animations with Lottie
  • Code quality tools (ESLint, Prettier, Husky)

πŸš€ Technologies and libraries

The project was developed using the following technologies and libraries:

  • React - A JavaScript library for building user interfaces
  • TypeScript - JavaScript with syntax for types
  • Vite - Next Generation Frontend Tooling
  • Tailwind CSS - A utility-first CSS framework
  • Radix UI - Unstyled, accessible components
  • Framer Motion - A production-ready motion library for React
  • Zustand - A small, fast and scalable state management solution
  • LottieFiles - Lottie animations for React
  • Sonner - Toast notifications

βœ… Best Practices & Tooling

This project follows modern best practices to ensure code quality, consistency, and maintainability:

  • Husky Automates pre-commit hooks to enforce standards before pushing changes.
  • ESLint Ensures consistent code quality by identifying and fixing linting issues.
  • Prettier Automatically formats code to maintain a uniform style.
  • Commitlint Enforces a standardized commit message format.
  • Lint-staged Runs linters on staged files before committing, ensuring only formatted and checked code is pushed.

πŸ“‚ Project structure

/chat-bot-experiment
β”œβ”€β”€ src/                     # Source files
β”‚   β”œβ”€β”€ components/          # React components
β”‚   β”‚   β”œβ”€β”€ chat/            # Chat-related components
β”‚   β”‚   └── ui/              # Reusable UI components
β”‚   β”œβ”€β”€ constants/           # Application constants
β”‚   β”œβ”€β”€ hooks/               # Custom React hooks
β”‚   β”œβ”€β”€ lib/                 # Shared libraries, helpers, and integrations
β”‚   β”œβ”€β”€ store/               # Zustand store and state management
β”‚   β”œβ”€β”€ styles/              # Global styles and CSS
β”‚   β”œβ”€β”€ types/               # TypeScript type definitions
β”‚   β”œβ”€β”€ utils/               # Utility functions and helper methods
β”‚   β”œβ”€β”€ App.tsx              # Root application component
β”‚   β”œβ”€β”€ index.css            # Global CSS styles
β”‚   └── main.tsx             # Application entry point
β”œβ”€β”€ public/                  # Static files
β”œβ”€β”€ components.json          # Radix UI configuration
β”œβ”€β”€ vite.config.ts           # Vite configuration
β”œβ”€β”€ tsconfig.json            # TypeScript configuration
β”œβ”€β”€ package.json             # Project dependencies
└── README.md                # Project documentation

βœ”οΈ πŸ’» Desktop Result

Desktop light result Desktop dark result

βœ”οΈ πŸ“± Mobile Result

Mobile light result Mobile dark result

πŸ”₯ How to use

  • Prerequisites

    • It is necessary to have Node.js installed on the machine in the lts version.
    • Also, you need to have a package manager be it NPM or Yarn.
  1. Clone the repository:
  $ git clone git@github.com:dominguetigs/chat-bot-experiment.git
  1. Run the Application:
  # Install the dependencies
  $ npm install

  # Initialize the application
  $ npm run dev

  # Initialize the application and expose it on your local network IP address
  $ npm run dev:host

πŸ“ License

This project is under the MIT license. See the LICENSE file for more details.


Made with πŸ’™ by Gustavo Domingueti

Releases

No releases published

Packages

No packages published