Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/thejessemartins/crm-api

Este é um sistema de CRM (Customer Relationship Management) desenvolvido em JavaScript usando o framework NestJS e o ORM TypeORM com SQLite. A API permite gerenciar empresas, clientes, contatos, oportunidades, atividades e usuários, fornecendo uma solução completa para a gestão de relacionamento com o cliente.
https://github.com/thejessemartins/crm-api

nestjs sqlite tyepscript typeorm

Last synced: 18 days ago
JSON representation

Este é um sistema de CRM (Customer Relationship Management) desenvolvido em JavaScript usando o framework NestJS e o ORM TypeORM com SQLite. A API permite gerenciar empresas, clientes, contatos, oportunidades, atividades e usuários, fornecendo uma solução completa para a gestão de relacionamento com o cliente.

Awesome Lists containing this project

README

        

## Descrição

Este é um sistema de CRM (Customer Relationship Management) desenvolvido em JavaScript usando o framework NestJS e o ORM TypeORM com SQLite. A API permite gerenciar empresas, clientes, contatos, oportunidades, atividades e usuários, fornecendo uma solução completa para a gestão de relacionamento com o cliente.

## Características

- **Gestão de Empresas**: Criação, leitura, atualização e exclusão de empresas.
- **Gestão de Clientes**: Criação, leitura, atualização e exclusão de clientes.
- **Gestão de Contatos**: Criação, leitura, atualização e exclusão de contatos.
- **Gestão de Oportunidades**: Criação, leitura, atualização e exclusão de oportunidades.
- **Gestão de Atividades**: Criação, leitura, atualização e exclusão de atividades.
- **Gestão de Usuários**: Criação, leitura, atualização e exclusão de usuários.
- **Automação de Migrações**: Migrações automáticas de banco de dados usando TypeORM.
- **Documentação de API**: Rotas bem definidas e documentadas para facilitar a integração.

## Tecnologias Utilizadas

- **Linguagem de Programação**: JavaScript
- **Framework**: NestJS
- **ORM**: TypeORM
- **Banco de Dados**: SQLite
- **Gerenciamento de Dependências**: npm

## Estrutura do Projeto

```plaintext
crm-api/
├── src/
│ ├── models/
│ │ ├── empresa.entity.ts
│ │ ├── cliente.entity.ts
│ │ ├── contato.entity.ts
│ │ ├── oportunidade.entity.ts
│ │ ├── atividade.entity.ts
│ │ └── usuario.entity.ts
│ ├── controllers/
│ │ ├── empresa.controller.ts
│ │ ├── cliente.controller.ts
│ │ ├── contato.controller.ts
│ │ ├── oportunidade.controller.ts
│ │ ├── atividade.controller.ts
│ │ └── usuario.controller.ts
│ ├── routes/
│ │ └── routes.module.ts
│ ├── app.module.ts
│ ├── app.controller.ts
│ └── app.service.ts
├── package.json
├── README.md
└── LICENSE
```

## Pré-requisitos

- Node.js (versão 12 ou superior)
- npm (gerenciador de pacotes do Node.js)
- SQLite

## Como Executar

1. **Clone o repositório**:

```sh
git clone https://github.com/thejessemartins/crm-api.git
cd crm-api
```

2. **Instale as dependências**:

```sh
npm install
```

3. **Execute o projeto**:

```sh
npm run start:dev
```

O servidor será iniciado na porta 3000.

## Rotas da API

### Empresas

- `GET /empresas`: Listar todas as empresas.
- `POST /empresas`: Criar uma nova empresa.

### Clientes

- `GET /clientes`: Listar todos os clientes.
- `POST /clientes`: Criar um novo cliente.

### Contatos

- `GET /contatos`: Listar todos os contatos.
- `POST /contatos`: Criar um novo contato.

### Oportunidades

- `GET /oportunidades`: Listar todas as oportunidades.
- `POST /oportunidades`: Criar uma nova oportunidade.

### Atividades

- `GET /atividades`: Listar todas as atividades.
- `POST /atividades`: Criar uma nova atividade.

### Usuários

- `GET /usuarios`: Listar todos os usuários.
- `POST /usuarios`: Criar um novo usuário.

## Contribuindo

Contribuições são bem-vindas! Por favor, abra uma issue ou envie um pull request.

### Diretrizes de Contribuição

1. **Fork** o projeto.
2. Crie um **branch** para sua feature (`git checkout -b feature/NovaFeature`).
3. Faça o **commit** das suas mudanças (`git commit -m 'Adiciona NovaFeature'`).
4. Faça o **push** para o branch (`git push origin feature/NovaFeature`).
5. Abra um **Pull Request**.

## Detalhes de Contato

- **Mantenedor**: Jessé Martins ([email protected])

## Licença

Este projeto está licenciado sob a Licença MIT. Veja o arquivo [LICENSE](LICENSE) para mais detalhes.