Welcome to Chatster, a group chat application that allows users to create accounts, form groups, and engage in real-time chats with other members of the group. The project is built using ExpressJS with MySQL (Sequelize) for data storage, and HTML/JS/Tailwind for the frontend. Image storage for chat support is provided by ImgBB.
- Introduction
- Features
- Folder Structure
- Installation and Usage
- Technologies Used
- Support and Feedback
Chatster is a user-friendly group chat application that aims to provide seamless communication within groups. Users can sign up, create and manage groups, invite members, and chat with each other, sharing images and messages effortlessly.
-
Signup and Login: Users can create accounts and log in to access their group chats.
-
Group Management: Users can create new groups and delete existing groups as needed.
-
Group Administration: Group admins have the authority to manage group members and settings.
-
Group Members: Users can view all registered users and current members within a group.
-
Real-time Chat: Engage in real-time conversations with other members of the group.
-
Image Support: Chat messages support image insertion for easy sharing of visual content.
The project has the following folder structure:
.
├── app.js
├── package.json
├── package-lock.json
├── controllers
│ ├── chatControllers.js
│ ├── groupControllers.js
│ ├── loginControllers.js
│ └── signupControllers.js
├── models
│ ├── chatModel.js
│ ├── groupModel.js
│ └── userModel.js
├── public
│ ├── chat.js
│ ├── login.js
│ └── signup.js
├── routes
│ ├── chatRoutes.js
│ ├── groupRoutes.js
│ ├── loginRoutes.js
│ └── signupRoutes.js
├── utils
│ ├── auth.js
│ ├── db.js
│ └── root-dir.js
└── views
├── 404.html
├── chat.html
├── login.html
└── signup.html
- Clone this repository:
git clone https://github.com/colcoffeee/chatster.git
- Install the necessary dependencies:
npm install
- Set up your MySQL database and configure the connection in
db.js
. - Set up required environment variables for image api(imgbb).
- Run the application:
npm start
- Access Chatster in your web browser at
http://localhost:3000
The following technologies were used in building the Chatster application:
- ExpressJS: A fast and minimalist web framework for Node.js, used for handling server-side requests and routing.
- MySQL (Sequelize): A relational database management system, used for data storage and retrieval.
- HTML/JS/Tailwind: The standard markup and scripting languages for creating web pages and user interfaces, styled with Tailwind CSS.
- ImgBB: An image hosting and sharing service, used for storing and serving images in chat messages.
If you encounter any issues while using Chatster or have suggestions for improvement, please feel free to open an issue on the GitHub repository. We appreciate your feedback and are here to assist you.