foodieland é um site de receitas culinárias que oferece uma experiência intuitiva e prática para quem ama cozinhar. Aqui, você pode encontrar receitas de diversos tipos, desde pratos rápidos para o dia a dia até receitas sofisticadas para ocasiões especiais.
- Receitas variadas: Desde pratos rápidos para o dia a dia até opções sofisticadas para ocasiões especiais.
- Pesquisa intuitiva: Encontre receitas por nome, ingredientes ou categoria.
- Favoritos: Salve suas receitas preferidas para acessar facilmente depois.
- Passo a passo detalhado: Instruções claras para garantir que qualquer pessoa possa preparar as receitas com sucesso.
Esse projeto foi desenvolvido com as seguintes tecnologias:
- Typescript
- Drizzle-orm
- Supertest
- Vitest
- Fastify
- Fastify-cors
- Fastify-formbody
- Fastify-static
- Fastify-swagger
- Fastify-swagger-ui
- Chalk
- Postgres
- Zod
# Clone o repositório e entre na pasta do projeto
$ git clone https://github.com/RayanneRamos/foodieland-api.git
$ cd foodieland-api
# Configure o banco de dados
$ docker compose up -d
# Configure as variávreis de ambiente
$ Copie o arquivo .env.example e adicione suas variáveis
# Instale as dependências
$ npm install
# ou
$ yarn install
# Execute a aplicação
$ npm run dev
# ou
$ yarn startAqui você encontra todas as rotas disponíveis na aplicação.
POST http://localhost:3333/create-category- Create a categoryGET http://localhost:3333/categories- Get categoriesGET http://localhost:3333/categories/:categoryId- Get a category by category idPOST http://localhost:3333/create-author- Create an authorPOST http://localhost:3333/create-nutrition- Create nutrition info for a recipePOST http://localhost:3333/create-direction- Create a recipe direction info for a recipePOST http://localhost:3333/create-ingredients- Create a recipe ingredients info for a recipePOST http://localhost:3333/create-recipe- Create a full recipe with author, ingredients, directions and nutritionGET http://localhost:3333/recipes- Get recipesGET http://localhost:3333/recipes/:id- Get a recipe by idGET http://localhost:3333/recipes/category/:categoryId- Get recipe by categoryPOST http://localhost:3333/posts/:postId/sections- Create a section for a postPOST http://localhost:3333/create-post- Create a postGET http://localhost:3333/posts- Get all blog postsGET http://localhost:3333/posts/:id- Get a post by idPOST http://localhost:3333/create-message- Create a contact messageGET http://localhost:3333/messages- Get all messagesGET http://localhost:3333/messages/:enquiryType- Get a message by enquiry typePOST http://localhost:3333/register-newsletter- Subscribe an email to the newsletterGET http://localhost:3333/newsletter- Get all newsletter emailsDELETE http://localhost:3333/delete-newsletter/:id- Delete a newsletter email by id
Para acessar a documentação da aplicação, execute o server e abra no navegador http://localhost:3333/docs
Este projeto está licenciado sob a Licença MIT. Veja o arquivo LICENSE para obter mais detalhes.
Criado by Rayanne Ramos