Skip to content

ChatRocket is a versatile chat application that offers functionalities including private chat, group chat, user management, Google Sign-In, simplistic registration and login, and password recovery. It's built with Spring Boot and Hilla and offers both Maven and Docker deployment options. The application has a clear directory structure for effortles

License

Notifications You must be signed in to change notification settings

Thanh25102/chat-rocket

Repository files navigation

ChatRocket Project

Enhance your communication with our ChatRocket, a versatile chat application offering a range of functionalities.

Features

  • Private Chat: Engage in one-on-one conversations.
  • Group Chat: Collaborate effectively through group discussions.
  • User Management: Tailor user experiences with comprehensive user management (exclusive to admins).
  • Google Sign-In: Enjoy quick and secure access with Google Sign-In option.
  • Registration and Login: Experience flawless user registration and login process.
  • Password Recovery: Secure user accounts with password recovery feature.

Built With

ChatRocket application is developed using:

  • Spring Boot framework for creating stand-alone, production-grade Spring-based applications
  • Hilla, a go-to solution for building highly interactive user applications

How to Run the Application

Maven Project

  1. mvnw (Windows)
  2. ./mvnw (macOS & Linux)
  3. Launch http://localhost:8080 in any browser

Docker Commands

Alternatively, run the application with Docker using the following commands:

docker compose build && docker compose up

You can now access the application by opening http://localhost:8080 in your browser.

Deploying to Production

For deploying the application to production:

  1. Build the Docker using the commands mentioned in the previous section
  2. Upon successful Docker build, your application will be production-ready

Project Structure

An overview of project structure:

DirectoryDescription
frontend/Client-side source directory
    index.htmlHTML template
    index.tsFrontend entrypoint, bootstraps a React application
    routes.tsxReact Router routes definition
    MainLayout.tsxMain layout component, contains the navigation menu, uses App Layout
    views/UI view components
    themes/Custom CSS styles
src/main/java/<groupId>/Server-side source directory, contains the server-side Java views
    Application.javaServer entry-point

Resources

About

ChatRocket is a versatile chat application that offers functionalities including private chat, group chat, user management, Google Sign-In, simplistic registration and login, and password recovery. It's built with Spring Boot and Hilla and offers both Maven and Docker deployment options. The application has a clear directory structure for effortles

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published