Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/epiled/alfood

šŸ” Site da Alfood com sistema de CMS, um CRUD completo para a gestĆ£o dos restaurantes e pratos šŸ³
https://github.com/epiled/alfood

axios-react css-modules mui react sass typescript

Last synced: about 1 month ago
JSON representation

šŸ” Site da Alfood com sistema de CMS, um CRUD completo para a gestĆ£o dos restaurantes e pratos šŸ³

Awesome Lists containing this project

README

        

# šŸ² Alfood
Projeto do curso React: integrando seu projeto React com APIs da Alura, curso ministrado pelo instrutor Marcos Vinicios da Silva Neves.

| :placard: Vitrine.Dev | |
| ------------- | --- |
| :sparkles: Nome | **Alfood**
| :label: Tecnologias | html, css, js, sass, node, react, typescript, css modules, axios, mui, docker, swagger

![alfood](https://github.com/Epiled/alfood/assets/55258483/895836cd-89da-4147-a37d-5b73ba083296#vitrinedev)

šŸ“ƒ Detalhes do projeto

Neste projeto, implementamos uma Ć”rea de administraĆ§Ć£o para a empresa Alfood com um sistema de CMS para gerenciar restaurantes e pratos. O sistema possui um CRUD completo e funcional.

Para os usuĆ”rios, desenvolvemos um sistema de busca que facilita a localizaĆ§Ć£o de restaurantes de seu interesse, alĆ©m de implementar um eficiente sistema de paginaĆ§Ć£o.

Dentro do projeto, apresentamos duas versƵes dessas funcionalidades:

1. **Sistema de Busca e PaginaĆ§Ć£o por Scroll Infinito:**
- Busca: Orientada pelo nome do restaurante.
- PaginaĆ§Ć£o: Implementada de forma dinĆ¢mica, permitindo uma experiĆŖncia contĆ­nua e intuitiva.

2. **Sistema de Busca e PaginaĆ§Ć£o por PĆ”ginas:**
- Busca: Inclui um campo adicional para especificar a ordenaĆ§Ć£o desejada.
- PaginaĆ§Ć£o: Estruturada por pĆ”ginas, oferecendo uma abordagem mais clĆ”ssica e organizada.

Essas versƵes proporcionam diferentes experiĆŖncias de uso, atendendo Ć s preferĆŖncias e necessidades dos usuĆ”rios.

Utilizamos React com TypeScript para o desenvolvimento, garantindo um cĆ³digo de qualidade com a ajuda do ESLint. O estilo foi aplicado usando CSS Modules e Sass.

Dado o foco funcional do projeto, concentrando-se na compreensĆ£o do consumo de API em React por meio do Axios, optou-se por manter um design simples e intuitivo.

![Badge](https://img.shields.io/github/last-commit/Epiled/alfood?style=for-the-badge)
![Badge](https://img.shields.io/github/languages/code-size/Epiled/alfood?style=for-the-badge)
![Badge](https://img.shields.io/github/languages/count/Epiled/alfood?style=for-the-badge)
![Bagde](https://img.shields.io/badge/repo%20status-Beta-cyan?style=for-the-badge)
![Bagde](https://img.shields.io/github/v/release/Epiled/alfood?style=for-the-badge)
![Bagde](https://img.shields.io/github/license/Epiled/alfood?style=for-the-badge)

![Badge](https://img.shields.io/badge/-HTML5-E34F26?style=for-the-badge&logo=html5&logoColor=white)
![Badge](https://img.shields.io/badge/-CSS3-1572B6?style=for-the-badge&logo=css3&logoColor=white)
![Badge](https://img.shields.io/badge/-JS-F7DF1E?style=for-the-badge&logo=javascript&logoColor=black)
![Badge](https://img.shields.io/badge/-Sass-CC6699?style=for-the-badge&logo=sass&logoColor=white)
![Badge](https://img.shields.io/badge/-Node.js-339933?style=for-the-badge&logo=node.js&logoColor=white)
![Badge](https://img.shields.io/badge/-React-61DAFB?style=for-the-badge&logo=react&logoColor=black)
![Badge](https://img.shields.io/badge/-Typescript-3178C6?style=for-the-badge&logo=typescript&logoColor=white)
![Badge](https://img.shields.io/badge/-CSS%20Modules-000000?style=for-the-badge&logo=cssmodules&logoColor=white)
![Badge](https://img.shields.io/badge/-Axios-5A29E4?style=for-the-badge&logo=axios&logoColor=white)
![Badge](https://img.shields.io/badge/-MUI-007FFF?style=for-the-badge&logo=mui&logoColor=white)
![Badge](https://img.shields.io/badge/-Docker-2496ED?style=for-the-badge&logo=docker&logoColor=white)
![Badge](https://img.shields.io/badge/-Swagger-85EA2D?style=for-the-badge&logo=swagger&logoColor=black)

šŸ“‘ Tabela de ConteĆŗdos

* [Detalhes do projeto](#detalhes-do-projeto)
* [TĆ³picos Desenvolvidos](#topicos-curso)
* [DemonstraĆ§Ć£o](#demonstracao)
- [Home](#home)
- [Restaurantes V1 Scroll Infinito](#restaurantes-v1)
- [Restaurantes V2 PaginaĆ§Ć£o por PĆ”ginas](#restaurantes-v2)
- [Admin - Restaurantes](#admin-restaurantes)
- [Admin - Novo Restaurante](#admin-novo-restaurante)
- [Admin - Editar Restaurante](#admin-editar-restaurante)
- [Admin - Excluir Restaurante](#admin-excluir-restaurante)
- [Admin - Pratos](#admin-pratos)
- [Admin - Novo Prato](#admin-novo-prato)
- [Admin - Editar Prato](#admin-editar-prato)
- [Admin - Excluir Prato](#admin-excluir-prato)
- [DocumentaĆ§Ć£o Swagger](#documentacao-swagger)
* [PrƩ-Requisito](#pre-requisito)
* [InstalaĆ§Ć£o](#instalacao)
* [Como usar](#como-usar)
* [Tecnologias](#tecnologias)
* [Autor](#autor)

šŸ‘©ā€šŸ« TĆ³picos desenvolvidos

* Desenvolva a comunicaĆ§Ć£o entre uma aplicaĆ§Ć£o React e uma API REST
* Implemente hooks para buscar dados em uma API
* Utilize o axios para realizar requisiƧƵes HTTP
* Avalie as informaƧƵes da resposta da API
* Integre o frontend ao backend
* Descreva o funcionamento de uma API a partir do Swagger

šŸ‘€ DemonstraĆ§Ć£o

Home

https://github.com/Epiled/alfood/assets/55258483/dc16d154-1054-43d5-a0ce-221b6ec93910

Restaurantes V1 Scroll Infinito

https://github.com/Epiled/alfood/assets/55258483/e23a96bc-ec81-48d2-8015-3c42d160248a

Restaurantes V2 PaginaĆ§Ć£o por PĆ”ginas

https://github.com/Epiled/alfood/assets/55258483/01d6f129-2159-48a1-b1cd-e3fd0806ebf2

Admin - Restaurantes

https://github.com/Epiled/alfood/assets/55258483/52a1f502-82f4-4b2e-8352-797f61312c94

Admin - Novo Restaurante

https://github.com/Epiled/alfood/assets/55258483/bebc8533-9c59-4077-9c82-b78b3e5d0f28

Admin - Editar Restaurante

https://github.com/Epiled/alfood/assets/55258483/f3bd2e0c-bcd0-4ced-bbe9-324d20655f42

Admin - Excluir Restaurante

https://github.com/Epiled/alfood/assets/55258483/ff5545b1-6a5c-43ac-ad19-73e5a46f4c94

Admin - Pratos

https://github.com/Epiled/alfood/assets/55258483/19f067b8-3288-4976-ba0b-8ce3d4372477

Admin - Novo Prato

https://github.com/Epiled/alfood/assets/55258483/41b29a0a-2048-42df-81c8-0960e8b22f22

Admin - Editar Prato

https://github.com/Epiled/alfood/assets/55258483/f7a43bdc-fffc-4d42-8819-fb03c572b234

Admin - Excluir Prato

https://github.com/Epiled/alfood/assets/55258483/961ee7d2-c797-4145-8043-8811e6e0ffb8

DocumentaĆ§Ć£o Swagger

https://github.com/Epiled/alfood/assets/55258483/e497d0ac-4c4a-4a00-a7f3-161a96806f3f

šŸšØ PrĆ©-requisito



  • Node

  • Docker

āš™ InstalaĆ§Ć£o

```
1. git clone https://github.com/Epiled/alfood.git
```

Site e suas dependĆŖncias

```
1. cd alfood-site
2. npm install
```

API Docker

Inicie o Dockerc antes de executar os comandos no terminal

```
1. cd restaurantes_api_docker
2. docker-compose build
```

šŸ‘©ā€šŸ« Como usar

Inciando o site

```
1. Abra o diretĆ³rio alfood-site no terminal
2. npm start
3. Acesse a url http://localhost:3000/
```

Inciando o site

```
1. Abra o aplicativo Docker Desktop
2. Abra o diretĆ³rio restaurantes_api_docker no terminal
3. docker-compose up
4. Acesse a url http://localhost:8000/
```

A documentaĆ§Ć£o completa do Swagger, que explica em detalhes o funcionamento e o uso da API, estĆ” disponĆ­vel na URL gerada.

šŸ›  Tecnologias

As seguintes tecnologias foram usadas na construĆ§Ć£o deste projeto:

šŸ‘Øā€šŸ’» Autor

![Felindo](https://user-images.githubusercontent.com/55258483/178338085-2cea8bf2-6d0c-409a-9d0e-23359b7d303e.png)


Felipe De Andrade

Feito com ā¤ļø por Felipe De Andrade šŸ‘‹šŸ½ Entre em contato!

[![Linkedin Badge](https://img.shields.io/badge/-Felipe-blue?style=flat-square&logo=Linkedin&logoColor=white&link=https://www.linkedin.com/in/fademendonca/)](https://www.linkedin.com/in/fademendonca/)
[![Gmail Badge](https://img.shields.io/badge/[email protected]?style=flat-square&logo=Gmail&logoColor=white&link=mailto:[email protected])](mailto:[email protected])
[![Instagram Badge](https://img.shields.io/badge/-Instagram-e4405f?style=flat-square&logo=Instagram&logoColor=white&link=https://www.instagram.com/felipe.deam/)](https://www.instagram.com/felipe.deam/)
[![Codepen Badge](https://img.shields.io/badge/-Codepen-000000?style=flat-square&logo=Codepen&logoColor=white&link=https://codepen.io/epiled)](https://codepen.io/epiled)