https://github.com/joanbr4/react-socket-chat-app
A spaceRoom where you can chat with everyone or especial one
https://github.com/joanbr4/react-socket-chat-app
architecture-components docker hexagonal-architecture jwt mongoose react typescript
Last synced: about 2 months ago
JSON representation
A spaceRoom where you can chat with everyone or especial one
- Host: GitHub
- URL: https://github.com/joanbr4/react-socket-chat-app
- Owner: joanbr4
- Created: 2024-04-05T09:25:06.000Z (about 1 year ago)
- Default Branch: master
- Last Pushed: 2024-07-20T10:43:58.000Z (10 months ago)
- Last Synced: 2025-02-07T09:20:20.718Z (3 months ago)
- Topics: architecture-components, docker, hexagonal-architecture, jwt, mongoose, react, typescript
- Language: TypeScript
- Homepage:
- Size: 3.05 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Just Chattin'
## What can I watch and expect from this project?
This repository has implemented many things, such as:
- Sockets, customs rooms
- Validation with Zod, JWT, APIs
- Docker with Mongo to persist data
- Component Architecture in Frontend & Hexagonal from Backend as well
- Routing## Needed Requirements
This project aims to be user-friendly, convenient, and easy to connect to for testing, improvement and more. To handle database queries, we've opted for MongoDB with a [Docker] image, which must be installed first.
# How to run the project ?
## One way: Docker
- Dockerize the entire project, connecting three containers: one for the MongoDB database, another for deploying the client-side with Vite, and the last one for the server-side with Express. They are all interconnected.
- To build the image and run it within its own container, we have simplified it with one script.
```sh
docker compose up -d
```- When all containers are connected and running, you can open your favorite web browser and navigate to the following address.
```sh
http://localhost:5173
```## Other way: npm
To install and run all different scripts, navigate to the Server/Client Subfoler, and read the following instructions and execute it in the terminal.
Navigate to the Server subfolder, here
Navigate to the Client subfolder, here
You can chat with yourself by simply opening the page twice and entering the same room and starting a conversation, but if you want to get full access to all features you need to register.
When you are logged in, we've added mock users for you. To find them and start chatting, use the keyword search "all".
If want to use this mock users as you, put this data in login:
- mock-email: `[email protected]`/ `[email protected]`/`[email protected]`/`[email protected]`
- mock-password: `asdasd`
We hope you enjoy this project and feel free to conduct your own tests and make improvements!
![]()
![]()
![]()
[Docker]: https://www.docker.com/products/docker-desktop/