forked from FieldControl/valinor
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
915d3ef
commit b3bdb99
Showing
144 changed files
with
28,580 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,4 @@ | ||
<<<<<<< HEAD | ||
👨💻 Vaga para apaixonados por criação de software | ||
=========================================== | ||
|
||
|
@@ -230,3 +231,54 @@ Gostariamos de entender como você pensa e as decisões que você tomou durante | |
- Quais princípios da engenharia de software que você usou? | ||
- Desafios e problemas que você enfrentou e como você resolveu | ||
- O que você entende que pode ser melhorado e como fazer isso | ||
======= | ||
# Descrição do Projeto | ||
|
||
## Framework, Linguagem e Ferramentas | ||
Para este projeto de Kanban, utilizei uma stack moderna e escalável com as seguintes tecnologias: | ||
|
||
- **Backend**: Desenvolvido com **NestJS** (Node.js), escolhido pela arquitetura modular e pelo suporte nativo a TypeScript, o que facilita a manutenção e a escalabilidade do código. Utilizei **Jest** para testes unitários em todos os módulos, garantindo que cada função e endpoint estejam sólidos e testados. | ||
- **Frontend**: A interface do usuário foi construída com **Angular**, que oferece uma estrutura de componentes bem organizada e ideal para o desenvolvimento de SPA (Single Page Application) com navegação fluida e interações dinâmicas. | ||
- **Banco de Dados**: **MySQL** foi usado para o armazenamento de dados, oferecendo segurança e uma estrutura eficiente para o sistema Kanban. | ||
- **Ferramentas de Suporte**: Configurei o ambiente com Docker para facilitar a execução em diferentes máquinas e utilizei CI/CD para automação de testes e deploy contínuo. | ||
|
||
## Tecnologias X e Y | ||
Optei por **NestJS** no backend pela sua modularidade e suporte a injeção de dependência, o que facilita a escalabilidade do projeto em comparação com Express, que não ofereceria a mesma robustez para modularização. Para o frontend, escolhi **Angular** ao invés de React, pois o Angular oferece um sistema completo e padronizado, ideal para aplicações complexas como esta. | ||
|
||
## Princípios de Software | ||
Segui os seguintes princípios de engenharia de software: | ||
|
||
- **Single Responsibility Principle (SRP)**: Cada módulo foi projetado para ter uma responsabilidade única, facilitando a manutenção. | ||
- **DRY (Don't Repeat Yourself)**: Estruturei o código para evitar redundâncias, criando serviços reutilizáveis no Angular e módulos independentes no NestJS. | ||
- **Modularidade e Escalabilidade**: A modularidade permite adicionar novas funcionalidades sem afetar outras partes do sistema. | ||
- **Automação de Testes**: A aplicação inclui testes unitários e de integração e também testes End-to-End (E2E) para assegurar a estabilidade em cenários reais. | ||
|
||
## Desafios e Problemas | ||
Enfrentei alguns desafios: | ||
|
||
- **Integração da API**: A estruturação de endpoints foi complexa, especialmente na autenticação e autorização. Resolvi com um serviço centralizado de autenticação. | ||
- **Sincronização de Dados em Tempo Real**: Para o Kanban, a atualização em tempo real era essencial, então implementei WebSockets para manter o frontend sincronizado com o backend. | ||
- **Gerenciamento de Ambientes**: Configurar ambientes específicos foi um desafio, mas o Docker facilitou essa configuração ao isolar cada ambiente. | ||
|
||
## Melhorias e Próximas Implementações | ||
Para o futuro, pretendo: | ||
|
||
- **Hospedagem Serverless**: Migrar para uma arquitetura serverless, como AWS Lambda, para reduzir custos e aumentar a escalabilidade. | ||
- **Aprimoramento da Interface**: Planejo melhorias na usabilidade e acessibilidade. | ||
|
||
## Vídeo de Apresentação | ||
Gravei um vídeo mostrando o sistema em funcionamento e suas principais funcionalidades: https://www.youtube.com/watch?v=mKpLhhlzMhs&ab_channel=RonaldoChiavegatti | ||
|
||
## Sobre Você | ||
Sou Ronaldo, nascido em São José do Rio Preto, e trabalho com desenvolvimento de software e marketing digital. Fundador de uma agência de marketing digital, onde atendo clientes oferecendo serviços como e-commerce, landing pages e automações. Comecei no desenvolvimento com o interesse de oferecer soluções completags e escaláveis aos clientes, e vejo o desenvolvimento como uma forma de transformar negócios. | ||
|
||
## Outros Detalhes | ||
Estou disponível para discussões e melhorias. | ||
|
||
**Contato**: | ||
- **E-mail**: [email protected] | ||
- **Telefone**: (17) 99677-4840 | ||
|
||
|
||
[def]: https://www.youtube.com/watch?v=mKpLhhlzMhs&ab_channel=RonaldoChiavegatti | ||
>>>>>>> b3dab1a (Código kanban: Ronaldo Chiavegatti) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
module.exports = { | ||
parser: '@typescript-eslint/parser', | ||
parserOptions: { | ||
project: 'tsconfig.json', | ||
tsconfigRootDir: __dirname, | ||
sourceType: 'module', | ||
}, | ||
plugins: ['@typescript-eslint/eslint-plugin'], | ||
extends: [ | ||
'plugin:@typescript-eslint/recommended', | ||
'plugin:prettier/recommended', | ||
], | ||
root: true, | ||
env: { | ||
node: true, | ||
jest: true, | ||
}, | ||
ignorePatterns: ['.eslintrc.js'], | ||
rules: { | ||
'@typescript-eslint/interface-name-prefix': 'off', | ||
'@typescript-eslint/explicit-function-return-type': 'off', | ||
'@typescript-eslint/explicit-module-boundary-types': 'off', | ||
'@typescript-eslint/no-explicit-any': 'off', | ||
}, | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,56 @@ | ||
# compiled output | ||
/dist | ||
/node_modules | ||
/build | ||
|
||
# Logs | ||
logs | ||
*.log | ||
npm-debug.log* | ||
pnpm-debug.log* | ||
yarn-debug.log* | ||
yarn-error.log* | ||
lerna-debug.log* | ||
|
||
# OS | ||
.DS_Store | ||
|
||
# Tests | ||
/coverage | ||
/.nyc_output | ||
|
||
# IDEs and editors | ||
/.idea | ||
.project | ||
.classpath | ||
.c9/ | ||
*.launch | ||
.settings/ | ||
*.sublime-workspace | ||
|
||
# IDE - VSCode | ||
.vscode/* | ||
!.vscode/settings.json | ||
!.vscode/tasks.json | ||
!.vscode/launch.json | ||
!.vscode/extensions.json | ||
|
||
# dotenv environment variable files | ||
.env | ||
.env.development.local | ||
.env.test.local | ||
.env.production.local | ||
.env.local | ||
|
||
# temp directory | ||
.temp | ||
.tmp | ||
|
||
# Runtime data | ||
pids | ||
*.pid | ||
*.seed | ||
*.pid.lock | ||
|
||
# Diagnostic reports (https://nodejs.org/api/report.html) | ||
report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
{ | ||
"singleQuote": true, | ||
"trailingComma": "all" | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,73 @@ | ||
<p align="center"> | ||
<a href="http://nestjs.com/" target="blank"><img src="https://nestjs.com/img/logo-small.svg" width="200" alt="Nest Logo" /></a> | ||
</p> | ||
|
||
[circleci-image]: https://img.shields.io/circleci/build/github/nestjs/nest/master?token=abc123def456 | ||
[circleci-url]: https://circleci.com/gh/nestjs/nest | ||
|
||
<p align="center">A progressive <a href="http://nodejs.org" target="_blank">Node.js</a> framework for building efficient and scalable server-side applications.</p> | ||
<p align="center"> | ||
<a href="https://www.npmjs.com/~nestjscore" target="_blank"><img src="https://img.shields.io/npm/v/@nestjs/core.svg" alt="NPM Version" /></a> | ||
<a href="https://www.npmjs.com/~nestjscore" target="_blank"><img src="https://img.shields.io/npm/l/@nestjs/core.svg" alt="Package License" /></a> | ||
<a href="https://www.npmjs.com/~nestjscore" target="_blank"><img src="https://img.shields.io/npm/dm/@nestjs/common.svg" alt="NPM Downloads" /></a> | ||
<a href="https://circleci.com/gh/nestjs/nest" target="_blank"><img src="https://img.shields.io/circleci/build/github/nestjs/nest/master" alt="CircleCI" /></a> | ||
<a href="https://coveralls.io/github/nestjs/nest?branch=master" target="_blank"><img src="https://coveralls.io/repos/github/nestjs/nest/badge.svg?branch=master#9" alt="Coverage" /></a> | ||
<a href="https://discord.gg/G7Qnnhy" target="_blank"><img src="https://img.shields.io/badge/discord-online-brightgreen.svg" alt="Discord"/></a> | ||
<a href="https://opencollective.com/nest#backer" target="_blank"><img src="https://opencollective.com/nest/backers/badge.svg" alt="Backers on Open Collective" /></a> | ||
<a href="https://opencollective.com/nest#sponsor" target="_blank"><img src="https://opencollective.com/nest/sponsors/badge.svg" alt="Sponsors on Open Collective" /></a> | ||
<a href="https://paypal.me/kamilmysliwiec" target="_blank"><img src="https://img.shields.io/badge/Donate-PayPal-ff3f59.svg"/></a> | ||
<a href="https://opencollective.com/nest#sponsor" target="_blank"><img src="https://img.shields.io/badge/Support%20us-Open%20Collective-41B883.svg" alt="Support us"></a> | ||
<a href="https://twitter.com/nestframework" target="_blank"><img src="https://img.shields.io/twitter/follow/nestframework.svg?style=social&label=Follow"></a> | ||
</p> | ||
<!--[![Backers on Open Collective](https://opencollective.com/nest/backers/badge.svg)](https://opencollective.com/nest#backer) | ||
[![Sponsors on Open Collective](https://opencollective.com/nest/sponsors/badge.svg)](https://opencollective.com/nest#sponsor)--> | ||
|
||
## Description | ||
|
||
[Nest](https://github.com/nestjs/nest) framework TypeScript starter repository. | ||
|
||
## Installation | ||
|
||
```bash | ||
$ npm install | ||
``` | ||
|
||
## Running the app | ||
|
||
```bash | ||
# development | ||
$ npm run start | ||
|
||
# watch mode | ||
$ npm run start:dev | ||
|
||
# production mode | ||
$ npm run start:prod | ||
``` | ||
|
||
## Test | ||
|
||
```bash | ||
# unit tests | ||
$ npm run test | ||
|
||
# e2e tests | ||
$ npm run test:e2e | ||
|
||
# test coverage | ||
$ npm run test:cov | ||
``` | ||
|
||
## Support | ||
|
||
Nest is an MIT-licensed open source project. It can grow thanks to the sponsors and support by the amazing backers. If you'd like to join them, please [read more here](https://docs.nestjs.com/support). | ||
|
||
## Stay in touch | ||
|
||
- Author - [Kamil Myśliwiec](https://kamilmysliwiec.com) | ||
- Website - [https://nestjs.com](https://nestjs.com/) | ||
- Twitter - [@nestframework](https://twitter.com/nestframework) | ||
|
||
## License | ||
|
||
Nest is [MIT licensed](LICENSE). |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
{ | ||
"$schema": "https://json.schemastore.org/nest-cli", | ||
"collection": "@nestjs/schematics", | ||
"sourceRoot": "src", | ||
"compilerOptions": { | ||
"deleteOutDir": true | ||
} | ||
} |
Oops, something went wrong.