Drinks es una plataforma donde los usuarios pueden seleccionar ingredientes y el sistema brindara una lista de tragos que puede realizar.
Agregar el repositorio:
<repositories>
<repository>
<id>jitpack.io</id>
<url>https://jitpack.io</url>
</repository>
</repositories>
Agregar la dependencia:
<dependency>
<groupId>com.github.unq-ui</groupId>
<artifactId>unq-drinks</artifactId>
<version>v1.1.2</version>
</dependency>
Toda interacción con el dominio se hace a través de la clase DrinksService
. La programación del dominio ya es proveído por la cátedra.
Se tiene que instanciar el sistema de la siguiente forma:
val drinksService = getDrinksService()
val users: MutableList<User>
fun getAllElements(): List<Element>
fun getAllDrinks(): List<Drink>
// @Throw DrinkException si existe un elemento con el mismo nombre
fun addElement(draftElement: DraftElement): Element
// @Throw DrinkException si existe un drink con el mismo nombre
fun addDrink(draftDrink: DraftDrink): Drink
// @Throw DrinkException si el elementId no existe o si el nombre esta usado
fun modifyElement(elementId: String, draftElement: DraftElement)
fun search(elements: List<Element>): List<Drink>
// @Throw UserException si el username esta usado
fun addUser(drafUser: DraftUser): User
class Element(
val id: String,
var name: String,
var abv: Int
)
class Ingredient(
val amount: String,
val element: Element
)
class Drink(
val id: String,
val name: String,
val description: String,
val image: String,
val glass: String,
val category: String,
val ingredients: MutableList<Ingredient>,
val garnish: String,
val preparation: String,
)
class User(
val id: String,
val username: String,
val password: String,
val image: String
)
Es la representación de un Element
antes de ser guardada por el sistema
class DraftElement(var name: String, var abv: Int)
Es la representación de un Drink
antes de ser guardada por el sistema
class DraftDrink(
var name: String,
var description: String,
var image: String,
var glass: String,
var category: String,
var ingredients: MutableList<Ingredient>,
var garnish: String,
var preparation: String,
)
Es la representación de un User
antes de ser guardada por el sistema
class DraftUser(
var username: String,
var password: String,
var image: String
)