Skip to content

πŸ›΅πŸ• Bruno Lanches is a personal project for a delivery-style food store.

Notifications You must be signed in to change notification settings

pinhobrunodev/brunolanches-webservice

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🎯 About the Project

***πŸ›  BUILDING NEW VERSION... *** - > https://github.com/pinhobrunodev/bruno-lanches

Hello, this is a Web Service project that simulates a food store with delivery services. This project was created to exercise my knowledge in REST API development.

πŸ›  Technologies used

🧱 Back end

  • Java
  • Spring Boot
  • Jpa / Hibernate
  • Maven
  • PostgreSQL
  • H2 Database

πŸ“‹ Class Diagram

3 0

API DOCUMENTATION πŸ“–

Browse on API Documentation

πŸ“ TaskLists

User Tasks βœ…
  • Implement User classe

  • Implement DTO

  • Implement UserRepository

  • Implement UserMapper

  • Implement UserService

    • findAllByBirthDateOrderASC()
    • findByName()
    • insert()
    • update()
    • delete()
    • findAllOrdersByUserId()
    • findAllOrderByUserIdStatusPending()
    • findAllOrderByUserIdStatusDelivered()
  • Implement UserController

  • Implement UserExceptions

  • Implement Validations in the UserService class

Deliveryman Tasks βœ…
  • Implement Deliveryman classe

  • Implement DTO

  • Implement DeliverymanRepository

  • Implement DeliverymanMapper

  • Implement DeliverymanService

    • findAllDeliverymanByNameASC()
    • findAllOrdersByDeliverymaIdDelivered()
    • findAllOrdersByDeliverymanIdPending()
    • findByEmail()
    • insert()
    • update()
    • delete()
    • Implement DeliverymanController

    • Implement DeliverymanExceptions

    • Implement Validations in the DeliverymanService class

Order βœ…
  • Implement OrderStatus Enumeration

  • Implement Order classe

  • Implement DTO

  • Implement OrderRepository

  • Implement OrderMapper

  • Implement OrderService

    • findAllOrdersByInstantASC()
    • findAllOrdersByStatusPENDINGOrderByMomentASC()
    • findAllOrdersByStatusDELIVEREDOrderByMomentASC()
    • findById()
    • insert()
    • setDelivered()
    • pageableSearch()
  • Implement OrderController

  • Implement OrderExceptions

  • Implement Validations in the OrderService class

Relation between Order-User-Deliveryman βœ…
  • Implement relation between ORDER-USER-DELIVERYMAN
Category βœ…
  • Implement Category classe

  • Implement Seed Category SQL

  • Implement DTO

  • Implement CategoryRepository

  • Implement CategoryService

    • findAllCategories()
    • findCategoryById()
    • findCategortByName()
  • Implement CategoryController

  • Implement CategoryExceptions

  • Implement Validations in the CategoryService class

Implement class Product βœ…
  • Implement Product classe

  • Implement Seed Product SQL

  • Implement DTO

  • Implement ProductMapper

  • Implement ProductRepository

  • Implement ProductService

    • findAllProducts()
    • findProductByName()
    • findProductById()
    • insert()
    • update()
    • delete()
  • Implement ProductController

  • Implement ProductExceptions

  • Implement Validations in the ProductService class

Relation between Product and Category βœ…
  • Implement relation between Product and Category
Relation between Product and Order βœ…
  • Implement relation between Product and Order

πŸ“Œ Project Endpoints

 https://bruno-lanches.herokuapp.com/[Insert the Endpoint below]

User

HTTP VERB ENPOINT OBJECTIVE
GET /users List all users by birth order
GET /users/{name}/found List user by name
GET /users/{id}/orders List all orders of the user id
GET /users/{id}/orders/status/pending List all pending orders of the user id
GET /users/{id}/orders/status/delivered List all delivered orders of the user id
POST /users Insert a user
PUT /users/updated Update a user
DELETE /users/{id}/removed Delete a user by id

Deliveryman

HTTP VERB ENPOINT OBJECTIVE
GET /deliverymans List all deliverymans by name order
GET /deliverymans/{email}/found List deliverymans by email
GET /deliverymans/orders/{id}/delivered Lists all orders delivered from the id referring to the deliveryman
GET /deliverymans/orders/{id}/pending Lists all orders pending from the id referring to the deliveryman
POST /deliverymans Insert a Deliveryman
PUT /deliverymans/updated Update a deliveryman
DELETE /deliverymans/{id}/removed Delete a deliveryman by id

Order

HTTP VERB ENPOINT OBJECTIVE
GET /orders List all orders by moment
GET /orders/pending List all orders pending
GET /orders/delivered List all orders delivered
GET /orders/{id}/found List order by id
GET /orders/pageable Pageable Search
POST /orders Insert a order
PUT /orders/set/{id}/delivered Update a order status to delivered

Category

HTTP VERB ENPOINT OBJECTIVE
GET /categories List all categories
GET /categories/findBy/{id} List category by id
GET /categories/{name} List category by name

Product

HTTP VERB ENPOINT OBJECTIVE
GET /products List all products
GET /products/id/{id} List a product by id
GET /products/name/{name} List a product by name
POST /products Save a product
PUT /products/update Update a product
DELETE /products/delete/{id} Delete a product by id

Made with πŸ’š by Bruno Pinho

About

πŸ›΅πŸ• Bruno Lanches is a personal project for a delivery-style food store.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages