Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/kaveesha0316/hello-back-end-spring-boot-

Hello Chat is a simple and responsive chat app built with React.js and React Native Expo (frontend), Java with Spring Framework and Hibernate (backend), and MySQL (database). Users can sign up, chat in real-time, update profiles, upload images, and share posts. The application is deployed using Spring Boot for efficient and scalable performance.
https://github.com/kaveesha0316/hello-back-end-spring-boot-

hibernate java mysql spring springboot

Last synced: 15 days ago
JSON representation

Hello Chat is a simple and responsive chat app built with React.js and React Native Expo (frontend), Java with Spring Framework and Hibernate (backend), and MySQL (database). Users can sign up, chat in real-time, update profiles, upload images, and share posts. The application is deployed using Spring Boot for efficient and scalable performance.

Awesome Lists containing this project

README

        

# Hello Chat

Welcome to **Hello Chat**, a modern and user-friendly chat application. This app is designed to provide users with a seamless messaging experience, allowing them to sign in, chat, share posts, and update profiles easily. Built using **React.js** and **React-native expo** for the frontend and **Java** with **Hibernate** for the backend, it ensures robust performance and scalability. Data is managed through **MySQL** and the application is hosted on a **GlassFish** server.

![Hello Chat Features](https://github.com/Kaveesha0316/Hello/blob/main/assets/banner.png)

## Features

- **User Authentication**:
- Sign up and sign in functionalities with form validation.
- Password masking and the ability to toggle password visibility.

- **Real-time Chat**:
- Send and receive instant messages with users.
- View profile pictures, message status (seen/unseen), and timestamp.

- **Profile Management**:
- Upload profile pictures and update personal information such as name and mobile number.
- Users can skip the profile image selection step if desired.

- **Post Sharing**:
- Share images and posts with other users in the "Posts" tab.

- **Mobile-Responsive**:
- A responsive UI that adapts to various screen sizes, providing an intuitive experience for both mobile and web users.

## Tech Stack

### Frontend:
- **React.js**: A powerful JavaScript library for building dynamic user interfaces.
- **React Native expo**: Used to ensure a mobile-responsive design for enhanced user experience.

### Backend:
- **Java**: The backend is built using Java for managing the business logic, including authentication and chat functionalities.
- **Hibernate ORM**: Provides seamless interaction with the MySQL database through object-relational mapping (ORM).

### Database:
- **MySQL**: A relational database for storing user data, chat messages, and posts.
- **Hibernate**: Integrates with Java to manage database operations.

### Server:
- **GlassFish**: The application runs on the GlassFish server, ensuring reliable performance and deployment.

## Application Screenshots
![](https://github.com/Kaveesha0316/Hello/blob/main/assets/2024-10-13_174944.png)
1. **Welcome Page**:
- Users are greeted with a friendly welcome page with options to sign in or sign up.

2. **Sign Up**:

- Users can create a new account by providing their first name, last name, mobile number, and password.

3. **Sign In**:

- Existing users can log in by entering their mobile number and password.

4. **Profile Image Upload**:

- Users can upload a profile image or choose to skip this step.

5. **Chat and Posts**:

- The app features two main tabs: "Chats" for messaging and "Posts" for sharing updates.

6. **Chat Interface**:

- The chat interface supports sending and receiving real-time messages with users, along with status updates like "seen/unseen."

7. **Profile Update**:

- Users can update their profile information, including name, mobile number, and profile picture.

## How to Run the Application

### Prerequisites

- **Node.js**: For running the React frontend.
- **Java 8+**: For running the backend services.
- **MySQL**: For the database.
- **GlassFish Server**: For deploying the backend.

### Frontend (React.js)

1. Clone the repository:
```bash
git clone https://github.com/Kaveesha0316/hello.git