https://github.com/augustodevjs/desafio-7cantos
Desafio FullStack utilizando React e Laravel pela empresa 7cantos
https://github.com/augustodevjs/desafio-7cantos
clean-architecture clean-code laravel nxworkspace php react
Last synced: 3 months ago
JSON representation
Desafio FullStack utilizando React e Laravel pela empresa 7cantos
- Host: GitHub
- URL: https://github.com/augustodevjs/desafio-7cantos
- Owner: augustodevjs
- Created: 2023-09-04T15:13:40.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2023-09-07T23:19:06.000Z (over 1 year ago)
- Last Synced: 2025-01-02T11:44:18.878Z (5 months ago)
- Topics: clean-architecture, clean-code, laravel, nxworkspace, php, react
- Language: PHP
- Homepage:
- Size: 1.29 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
## Front End
https://github.com/augustodevjs/desafio-7cantos/assets/90275457/c3098031-a4bc-48f8-b757-c604bc774185
## Back End
https://github.com/augustodevjs/desafio-7cantos/assets/90275457/0405cfa9-8fdf-4521-bb80-6a4ac4038dc2
## Explicações
Projeto full-stack desenvolvido com React no FrontEnd, usando NxWorkspace como ferramenta para criar projetos front-ends escaláveis. A estrutura do projeto segue os princípios da arquitetura limpa, dividindo-o em camadas bem definidas, incluindo: Service, Domain-types, Modules, Core, environment e components.
No FrontEnd, realizei todas as validações de erros provenientes da API, incorporando classes especializadas para o tratamento desses erros. Isso garante uma experiência de usuário suave e tratamento adequado de problemas que possam surgir durante a interação com a aplicação.
No BackEnd, utilizei PHP com Laravel para implementar as operações CRUD relacionadas ao desafio. Além disso, incluí todas as propriedades das models mencionadas no documento do desafio. Para facilitar o entendimento e integração com o FrontEnd, também disponibilizei uma documentação Swagger completa, que permite visualizar e compreender como a API funciona.
## Como rodar o projeto
```bash
# Faça o clone do projeto
$ git clone https://github.com/augustodevjs/desafio-7cantos# Configuração do Backend
1 - entre no diretório -- cd ./backend
2 - baixe o xamp - https://www.apachefriends.org
3 - baixe o composer - https://getcomposer.org
4 - rode o apache e o mysql na porta 3305 para não ocorrer um erro por conta do .env
5 - crie uma database chamada todo
6 - crie um arquivo .env e copie os dados do .env.example
7 - rode as migrations -- php artisan migrate
8 - rode o projeto -- php artisan serve
9 - entra nessa url para visualizar a documentação do swagger -- http://127.0.0.1:8000/api/documentation# Configuração do Front End
1 - entre no diretório -- cd ./frontend
2 - instale as dependências do projeto -- yarn install
3 - crie um arquivo .env e copie os dados do .env.example para esse arquivo
4 - caso queira vê as dependências de cada lib feito pelo nx worskpace rode -- npx nx graph
5 - rode o projeto -- yarn start
```