Skip to content

unq-ui/unq-drinks

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 

Repository files navigation

UNQ » UIs » TP Drinks

Drinks es una plataforma donde los usuarios pueden seleccionar ingredientes y el sistema brindara una lista de tragos que puede realizar.

Especificación de Dominio

Dependencia

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()

DrinksService

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

Element

class Element(
    val id: String,
    var name: String,
    var abv: Int
)

Ingredient

class Ingredient(
    val amount: String,
    val element: Element
)

Drink

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,
)

User

class User(
    val id: String,
    val username: String,
    val password: String,
    val image: String
)

DraftElement

Es la representación de un Element antes de ser guardada por el sistema

class DraftElement(var name: String, var abv: Int)

DraftDrink

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,
)

DraftUser

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
)