Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/caioliveira277/dev-chat-project

Chat simples com o foco em grupos de discussão sobre tecnologias da área de desenvolvimento
https://github.com/caioliveira277/dev-chat-project

chat docker docker-compose nodejs postgresql react socket-io typescript

Last synced: about 2 months ago
JSON representation

Chat simples com o foco em grupos de discussão sobre tecnologias da área de desenvolvimento

Awesome Lists containing this project

README

        

# Dev Chat 🤖
## Projeto de aprendizado ***Docker***, ***Typescript***, ***SocketIO*** e etc.

###### 🌴 ***OBS: Esse projeto não está totalmente finalizado e atualmente o seu desenvolvimento está pausado. Em breve, novas atualizações...*** 🌴












## Ideia: 💡
Desenvolver um **chat** que permita a criação de grupos com o tema de **tecnologias de desenvolvimento**, onde será possível o gerenciamento dos grupos e o compartilhamento de informações

## Funcionalidades:
- Cadastro de usuário;
- Criação de grupos de chats;
- Convidar pessoas para participar do grupo;
- Subir imagens de anexo ao chat;
- Enviar mensagens;
- Enviar audio;
- Gerenciar permissões de grupo.

## Executando o projeto: 🚀
Para executar e visualizar o projeto em **modo de desenvolvimento**, você precisará seguir as próximas etapas.

### Pré-requisitos:
Abaixo estará listada as ferramentas necessárias para o funcionamento do projeto.
- **NodeJS versão 14**

[Guia de instalação NodeJS](https://nodejs.org/en/).
- **Docker** 🐳

[Guia de instalação docker](https://docs.docker.com/get-docker/).
- **Docker Compose** 🐳

[Guia de instalação docker compose](https://docs.docker.com/compose/install/).

### Começando:
As etapas abaixo são necessárias para o funcionamento do projeto na mesma ordem informada.

1. Obtendo dependencias do **Frontend**:

Acesse a pasta ```/frontend``` e execute o comando abaixo para instalar as dependencias do projeto
```sh
npm install
```
###### Comando para instalar as dependencias necessárioas

2. Obtendo dependencias do **Backend**:

Acesse a pasta ```/backend``` e execute o comando abaixo para instalar as dependencias do projeto
```sh
npm install
```
###### Comando para instalar as dependencias necessárioas

3. Configurando o **.env**:

Na raiz do projeto, acesso o arquivo ```.env.example``` e copie o seu conteúdo. Em seguida, **na raiz** do projeto, crie um arquivo chamado ```.env``` e cole o conteúdo do ```.env.exemple``` para o ```.env```.
Após o passo acima, altere os valores das variáveis de acordo com as configurações do seu ambiente de desenvolvimento.

4. Executando os **containers**:

Ainda na **raiz do projeto**, execute o comando abaixo para buildar os containers configurados:
```sh
docker-compose up --build
```
###### Comando para buildar os containers nas configurações informadas

5. Gerando estrutura do **banco de dados**:

Com seus container em executação, execute o comando abaixo para **acessar o backend** em executação da nossa aplicação.
```sh
docker exec -i -t server /bin/bash
```
###### Comando para acessar o container do backend

Após acessar o container, execute os comandos abaixo para gerar a estrutura do banco de dados:
```sh
npm run migrate:run
```
###### Comando para gerar tabelas no banco de dados
```sh
npm run seed:run
```
###### Comando para inserir dados estáticos nas tabelas configuradas

### Conclusão:
Após a execução dos passos acima, você terá o **banco de dados**, o **backend** e o **frontend** todos em executação em um **ambiente gerenciado pelo docker compose** e pronto para o desenvolvimento da aplicação 🚀

---
## Links: 🌐
***Documentações:***

[TypeORM docs](https://typeorm.io/#/)

[Typescript docs](https://www.typescriptlang.org/)

[PosgresSQL docs](https://www.postgresql.org/)

[SocketIO docs](https://socket.io/)

---
## Licença
Este projeto está licenciado sob a licença [MIT] - consulte o arquivo LICENSE.md para obter detalhes