Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
174 commits
Select commit Hold shift + click to select a range
5677937
feat(PC-115): Improve response in recipe generator and remove unneces…
Jun 15, 2025
98e9811
feat(PC-115): Added Swagger for API documentation
Jun 16, 2025
2402b48
feat(PC-115): Replace LoggerFactory to Slf4j annotation to avoid boil…
Jun 16, 2025
0a8e811
feat(PC-115): Refactor image and audio ingredients processing
Jun 16, 2025
a132c7b
feat(PC-115): Improve code, prompts, added SQL and other changes
Jun 16, 2025
352a3a9
test(PC-115): Added new tests and other refactors from TDD
Jun 16, 2025
24dac51
test(PC-115): Fixes adapter in and application tests
Jun 16, 2025
26be457
feat(PC-115): Inserts in category and unit tables
Jun 16, 2025
b132856
Merge pull request #26 from adigio/feature/PC-115
adigio Jun 16, 2025
4141583
fix(PC-115): Remove hibernate ddl
Jun 16, 2025
121b1cd
Merge pull request #27 from adigio/feature/PC-115
adigio Jun 16, 2025
994f507
feat(PC-115): Change Swagger path
Jun 16, 2025
b6295a2
Merge pull request #28 from adigio/feature/PC-115
adigio Jun 16, 2025
c9a2055
feat(PC-115): Fixes swagger path
Jun 16, 2025
2cae76f
Merge pull request #29 from adigio/feature/PC-115
adigio Jun 16, 2025
7e89298
fix: Swagger path
Jun 16, 2025
8914c7a
Merge pull request #30 from adigio/feature/PC-115
adigio Jun 16, 2025
6f1527c
test(PC-115): Added tests in adapter and application layers, with som…
Jun 16, 2025
2e27dab
Merge pull request #31 from adigio/feature/PC-115
adigio Jun 16, 2025
a181af8
test(PC-115): Improve coverage to 46% (adapter.out left and some othe…
Jun 16, 2025
4224f0f
Merge pull request #32 from adigio/feature/PC-115
adigio Jun 16, 2025
bd7aeeb
test(PC-115): Added missing tests in adapter out with optimized imports
Jun 17, 2025
eae99e5
feat(PC-116): Recipe get and creation in database algorithm
Jun 18, 2025
62b9b3d
feat(PC-116): Changed difficulty to cook level
Jun 18, 2025
7f2e81e
Merge pull request #33 from adigio/feature/PC-115
adigio Jun 18, 2025
34f93bf
feat(PC-116): Merge release MVP-4 into PC-116
Jun 18, 2025
286e3e1
feat(PC-116): Added find by ingredients and filters in database and f…
Jun 18, 2025
c09fc81
feat(PC-116): Fixed SQL, application yml and others
Jun 18, 2025
45e6579
chore(PC-116): Optimize imports
Jun 18, 2025
11c149c
feat(PC-116): Merge release/MVP-4 and other changes
Jun 18, 2025
9f5fff1
feat(PC-116): Remove already moved sql file
Jun 18, 2025
516d158
Merge pull request #34 from adigio/feature/PC-116
adigio Jun 18, 2025
7aafd43
feat(PC-130): Added controller mealPrep
SabbaTomas Jun 20, 2025
8818b84
feat(PC-130): Added UserCase mealPrep
SabbaTomas Jun 20, 2025
99a059a
feat(PC-116): Added filters and configuration
Jun 20, 2025
c3a45fd
feat(PC-116): Added filters in database query
Jun 20, 2025
14076e8
feat(PC-130): Added geminiRepository mealPrep
SabbaTomas Jun 20, 2025
0e5b44f
feat(PC-130): Added prompt mealPrep
SabbaTomas Jun 20, 2025
acf00b0
PC-23 : Se añade el feature para guardar favoritos
VillafaneNicolas Jun 21, 2025
6b46fd0
PC-23 : Se modifica el nombre de una variable command y el useCase
VillafaneNicolas Jun 21, 2025
f52cc28
feat(PC-130): Compile ok
SabbaTomas Jun 21, 2025
d848bb8
feat(PC-130): Compile ok
SabbaTomas Jun 21, 2025
a2bc064
feat(PC-130): Gemini response ok
SabbaTomas Jun 21, 2025
0d4cfb3
PC-128 : Se agrega que podamos recuperar todos los Favoritos con sus …
VillafaneNicolas Jun 21, 2025
0cda0e2
Test + Generacion de imagenes y filtros
MaxiHubb2 Jun 21, 2025
bc654b0
Test + Generacion de imagenes y filtros
MaxiHubb2 Jun 21, 2025
3474b36
Test + Generacion de imagenes y filtros
MaxiHubb2 Jun 21, 2025
a2bdd01
Arreglo de warnings
MaxiHubb2 Jun 21, 2025
f887bf5
feat(PC-130): MealPrep ok, missing ddbb and improve promts
SabbaTomas Jun 21, 2025
7f6b3dd
Merge pull request #40 from adigio/feature/PC-130
SabbaTomas Jun 21, 2025
b7e19c5
feat(PC-116): Added filters into gemini
Jun 22, 2025
de251f4
fix(PC-135): Fix conflicts in application.yml
Jun 22, 2025
f01ba44
feat(PC-135): Merge release MVP-4 into feature PC-135
Jun 22, 2025
012232b
Merge pull request #38 from adigio/feature/PC-135
adigio Jun 22, 2025
d33dc42
Merge branch 'release/MVP-4' into PC-23
Jun 22, 2025
efa82f7
Merge pull request #36 from adigio/PC-23
adigio Jun 22, 2025
8c48eda
feat(PC-128): Merge 'release/MVP-4' into 'feature/PC-128'
Jun 22, 2025
4584a03
feat: Added new application yml property
Jun 22, 2025
8b372bf
Merge pull request #37 from adigio/PC-128
adigio Jun 22, 2025
f778af4
feat(PC-116): Merge 'release/MVP-4' into 'feature/PC-116'
Jun 22, 2025
1b7094a
fix: Remove unnecesary autowired dependency
Jun 22, 2025
e9a4c60
Merge branch 'release/MVP-4' into feature/PC-116
Jun 22, 2025
11e0029
feat(PC-116): Added parametric GET for preparation-times and units
Jun 24, 2025
d3165ab
feat(PC-116): Added new request for recipes with all the required cha…
Jun 24, 2025
6bd2b69
Merge pull request #41 from adigio/feature/PC-116
adigio Jun 24, 2025
f77ff7c
feat(PC-116): Fixes unit response in unit controller
Jun 24, 2025
7b259d5
Merge pull request #42 from adigio/feature/PC-116
adigio Jun 24, 2025
306ecda
fix(PC-116): Fixes unit controller Swagger documentation
Jun 24, 2025
4ccecba
Merge pull request #43 from adigio/feature/PC-116
adigio Jun 24, 2025
c0a417f
feat(PC-116): WIP save recipe image in database
Jun 25, 2025
cf6752b
fix: Added missing constructor in GetPreparationTimeById adapter
Jun 25, 2025
2a63007
Merge branch 'release/MVP-4' into feature/PC-116
Jun 25, 2025
9b951e8
QuickRecipe + Test
MaxiHubb2 Jun 25, 2025
3576a0f
QuickRecipe + Test
MaxiHubb2 Jun 25, 2025
a70f9fe
feat(PC-116): Refactor main and steps images. Added some performance …
Jun 26, 2025
26267d5
feat(PC-116): Make main image creation async
Jun 26, 2025
4189c4f
Merge pull request #46 from adigio/feature/PC-116
adigio Jun 26, 2025
b44e935
feat: Merge 'release/MVP-4' into 'feature/PC-134'
Jun 26, 2025
38fc510
feat(PC-134): Some fixes after release merge
Jun 26, 2025
04bcbe2
fix: Fixes units in ingredients from image recognition
Jun 26, 2025
820e582
Merge pull request #47 from adigio/feature/PC-116
adigio Jun 26, 2025
284461a
fix: Improve generate recipe image prompt
Jun 27, 2025
3cbd1fa
Merge pull request #48 from adigio/feature/PC-116
adigio Jun 27, 2025
8ac71df
fix: Improve generate recipe prompt, get recipes query and fixes diet…
Jun 27, 2025
f613396
Merge pull request #49 from adigio/feature/PC-116
adigio Jun 27, 2025
7f257b9
feat(PC-116): Improve async main image generation
Jun 27, 2025
01642d1
Merge pull request #50 from adigio/feature/PC-116
adigio Jun 28, 2025
ec3b9f9
feat(PC-131): Improve meal prep feature
Jun 28, 2025
6afd6ac
feat(PC-131): Save meal prep in database with all the new tables
Jun 28, 2025
63ece15
Test + UpdateUserProfile
MaxiHubb2 Jun 28, 2025
535a2f9
Clases que se adaptaron al nombre de las tablas SQL
MaxiHubb2 Jun 28, 2025
64b3b3c
feat(PC-131): Updated SQL DDLs
Jun 28, 2025
80d5333
Merge pull request #52 from adigio/feature/PC-131
adigio Jun 28, 2025
74cd8a3
feat(PC-148): Added GET recipe by ID
Jun 28, 2025
e6d1187
Merge pull request #53 from adigio/feature/PC-148
adigio Jun 28, 2025
e237c77
feat(PC-149): Refactor user recipes feature and add DELETE user recipe
Jun 28, 2025
042f8a0
feat(PC-149): Optimize imports
Jun 28, 2025
efed758
Merge pull request #54 from adigio/feature/PC-149
adigio Jun 28, 2025
60f2886
feat(PC-149): Added steps into recipes. Other fixes
Jun 28, 2025
3fa7141
fix: Fix step number
Jun 28, 2025
06a73a5
Merge pull request #55 from adigio/feature/PC-149
adigio Jun 28, 2025
40d83dd
PC-132 - Se agregan las funcionalidades de guardar planificaciones y …
VillafaneNicolas Jun 29, 2025
6893d85
feat(PC-133): Refactor get recipes by filters from JPA to JDBC for be…
Jun 29, 2025
6ba3447
Merge pull request #57 from adigio/feature/PC-133
adigio Jun 29, 2025
cae3cf7
feat(PC-133): Clean envvars
Jun 29, 2025
949b773
Merge pull request #58 from adigio/feature/PC-133
adigio Jun 29, 2025
1dbd37f
feat(PC-133): Safe stream to notInclude parameter
Jul 1, 2025
db27ddc
Merge pull request #59 from adigio/feature/PC-133
adigio Jul 1, 2025
d4dccd7
feat(PC-125): Add javaMailSender and classes
SabbaTomas Jul 1, 2025
7180d3f
PC-132 - Se aplico el limite de dias en el useCase y se modifico el R…
VillafaneNicolas Jul 1, 2025
bd36e29
fix: Safe alleries, dietary needs and meal types parameters in SQL query
Jul 1, 2025
a30c4da
Merge pull request #56 from adigio/PC-132
VillafaneNicolas Jul 2, 2025
b07df6f
feat: Refactor and impove user calendar feature
Jul 3, 2025
7959928
feat: Merge release into feature PC-134
Jul 3, 2025
39d0a76
feat(PC-134): Refactor with other fixes
Jul 3, 2025
e48d14d
Merge pull request #45 from adigio/feature/PC-134
adigio Jul 3, 2025
bf7f547
feat: Merge release MVP-4 into feature PC-141
Jul 3, 2025
8ac562d
feat(PC-141): Refactor update user with best practices
Jul 3, 2025
0dd4175
feat(PC-141): Update Swagger docs information
Jul 3, 2025
d69dc8a
Merge pull request #51 from adigio/feature/PC-141
adigio Jul 3, 2025
2f730ef
fix: Changed request body to request param in GET recipes
Jul 4, 2025
89d450b
feat(PC-125): Add config application code gmail
SabbaTomas Jul 4, 2025
b56c90c
feat(PC-129): Added user meal preps favorites feature with GET, POST …
Jul 4, 2025
39e2733
Merge pull request #60 from adigio/feature/PC-129
adigio Jul 4, 2025
b1f1ad9
feat(PC-143): Added GET random recipes with size
Jul 4, 2025
92e3a6c
Merge pull request #61 from adigio/feature/PC-143
adigio Jul 4, 2025
ba884d0
feat(PC-143): Force gradle to use java 17
Jul 4, 2025
8824da4
Merge pull request #62 from adigio/feature/PC-143
adigio Jul 4, 2025
54aef8f
feat(PC-125): send mail ok
SabbaTomas Jul 4, 2025
927ca7b
feat(PC-125): feat-125 ok
SabbaTomas Jul 5, 2025
f274c74
feat(PC-125): feat-125 ok
SabbaTomas Jul 5, 2025
06ad597
fix: [WebConfig] Added PATCH in cors configuration
Jul 6, 2025
e71db6c
fix: [Auth] Fix auth error exceptions for more readability in logs
Jul 6, 2025
3c1120e
fix: Added mealtypes in recipes and meal preps favs
Jul 6, 2025
85aa8cc
feat: Added favorite in recipe for current user. Add some refactor.
Jul 6, 2025
a782f26
Tests+ Mercado Pago por sandbox
MaxiHubb2 Jul 6, 2025
6b06899
Tests+ Mercado Pago por sandbox
MaxiHubb2 Jul 6, 2025
c1fbe11
feat(PC-125): feat-125 gmail config cuoco
SabbaTomas Jul 7, 2025
8b08b6a
feat(PC-125): feat-125 gmail config cuoco and fix class name
SabbaTomas Jul 7, 2025
d1a0719
Merge branch 'release/MVP-4' of https://github.com/adigio/planicocina…
SabbaTomas Jul 9, 2025
a8fb0eb
feat(PC-125): feat-125 add jwtUtil
SabbaTomas Jul 9, 2025
4d6489a
Merge pull request #67 from adigio/feature/pc-125
SabbaTomas Jul 9, 2025
ce001e8
Merge branch 'release/MVP-4' into feature/PC-126
MaxiHubb2 Jul 9, 2025
74c7374
Merge pull request #65 from adigio/feature/PC-126
MaxiHubb2 Jul 9, 2025
341ee79
Revert "Feature/pc 126"
adigio Jul 10, 2025
0f10188
Merge pull request #68 from adigio/revert-65-feature/PC-126
adigio Jul 10, 2025
b37334b
Revert "Feature/pc 125"
adigio Jul 10, 2025
1a5a630
Merge pull request #69 from adigio/revert-67-feature/pc-125
adigio Jul 10, 2025
96eb11e
feat(PC-125): Refactor with best practices
Jul 10, 2025
2093e3e
feat(PC-125): Minor fixes and others
Jul 10, 2025
4c38706
feat(PC-125): Added user active conditions
Jul 10, 2025
13f3cbb
Merge pull request #70 from adigio/feature/pc-125
adigio Jul 10, 2025
4b4c38d
feat(PC-125): Refactor with some code fixes
Jul 13, 2025
02d1bd2
test(PC-125): Added new tests and fixes old
Jul 13, 2025
7c434b6
test(PC-125): Fix tests
Jul 13, 2025
9d9f27e
Merge pull request #71 from adigio/feature/pc-125
adigio Jul 13, 2025
73a063f
feat: [UserCalendar] Change from POST into PUT for upsert user calendar
Jul 13, 2025
e034159
feat(PC-136): Added not include to meal preps
Jul 15, 2025
f8f24c7
feat(PC-136): Improve steps to 4
Jul 15, 2025
fe074e4
feat(PC-136): Minimal change
Jul 15, 2025
01e6498
feat(PC-136): Added ingredient quantity multiplier per serving
Jul 15, 2025
bf94348
test(PC-136): Added tests and optimize imports
Jul 15, 2025
32e32c0
test(PC-136): Fixes tests
Jul 15, 2025
1d9f306
Merge pull request #72 from adigio/feature/PC-136
adigio Jul 15, 2025
cf12755
fix(PC-136): Fix size bug in meal preps
Jul 15, 2025
c542d20
fix: Change email sender from
Jul 15, 2025
b79af2a
fix[User][UserMealPrep]: Fixes user preferences in login response and…
Jul 15, 2025
d3b5ff9
fix: Ingredient unit response from Gemini was fixed
Jul 16, 2025
356e8fc
feat: Added password management and resend confirmation email
Jul 16, 2025
2b4561f
fix: Change error message
Jul 16, 2025
b45b1eb
fix: Change link URI from reset password
Jul 16, 2025
cabfa1f
feat(PC-126): User payment refactor with Mercado Pago SDK
Jul 16, 2025
38b4d23
fix(PC-126): Fixes webhook from mercado pago integration
Jul 17, 2025
abddfea
Merge pull request #73 from adigio/feature/PC-126
adigio Jul 17, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
14 changes: 13 additions & 1 deletion build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@ group = 'com.cuoco'
version = '0.0.1-SNAPSHOT'

java {
sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17
toolchain {
languageVersion = JavaLanguageVersion.of(17)
}
Expand All @@ -25,21 +27,27 @@ dependencies {
implementation 'org.springframework.boot:spring-boot-starter-security'
implementation 'org.springframework.boot:spring-boot-starter-validation'
implementation 'org.springframework.boot:spring-boot-starter-web'
implementation 'org.springframework.boot:spring-boot-starter-mail'
implementation 'io.jsonwebtoken:jjwt-api:0.11.5'
implementation 'com.google.cloud:google-cloud-vision:3.12.0'
implementation 'com.google.protobuf:protobuf-java:4.28.2'
implementation 'org.jetbrains.kotlinx:kotlinx-io-bytestring-jvm:0.5.4'
implementation 'net.javacrumbs.hamcrest-logger:hamcrest-logger:0.0.1'
implementation 'com.github.lolgab:snunit-autowire_native0.4.0-M2_2.11:0.0.4'
implementation 'com.github.lolgab:snunit-autowire_native0.4.0-M2_2.11:0.0.4'
implementation 'jakarta.validation:jakarta.validation-api:3.0.2'

implementation 'com.mercadopago:sdk-java:2.5.0'

// Swagger documentation
implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.7.0'

// Lombok configuration
compileOnly 'org.projectlombok:lombok:1.18.28'
annotationProcessor 'org.projectlombok:lombok:1.18.28'
testCompileOnly 'org.projectlombok:lombok:1.18.28'
testAnnotationProcessor 'org.projectlombok:lombok:1.18.28'

// Testing dependencies
developmentOnly 'org.springframework.boot:spring-boot-devtools'
runtimeOnly 'io.jsonwebtoken:jjwt-impl:0.11.5'
runtimeOnly 'io.jsonwebtoken:jjwt-jackson:0.11.5'
Expand All @@ -51,6 +59,10 @@ dependencies {
testRuntimeOnly 'org.junit.platform:junit-platform-launcher'
}

tasks.withType(JavaCompile) {
options.release = 17
}

tasks.named('test') {
useJUnitPlatform()
}
7 changes: 6 additions & 1 deletion src/main/java/com/cuoco/CuocoApplication.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,14 @@

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
import org.springframework.scheduling.annotation.EnableAsync;

@SpringBootApplication
@EnableConfigurationProperties
@EnableJpaRepositories
@EnableAsync
public class CuocoApplication {

public static void main(String[] args) {
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
package com.cuoco.adapter.exception;

public class ConflictException extends AdapterException {
public ConflictException(String description) {
super(description);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
package com.cuoco.adapter.exception;

import com.cuoco.shared.model.ErrorDescription;

public class ImageGenerationException extends AdapterException {

public ImageGenerationException(String message) {
super(message);
}

public ImageGenerationException(ErrorDescription errorDescription) {
super(errorDescription.getValue());
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -3,41 +3,60 @@
import com.cuoco.adapter.in.controller.model.ParametricResponse;
import com.cuoco.application.port.in.GetAllAllergiesQuery;
import com.cuoco.application.usecase.model.Allergy;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.cuoco.shared.GlobalExceptionHandler;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.ArraySchema;
import io.swagger.v3.oas.annotations.media.Content;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.responses.ApiResponse;
import io.swagger.v3.oas.annotations.responses.ApiResponses;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.extern.slf4j.Slf4j;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;

@Slf4j
@RestController
@RequestMapping("/allergy")
@RequestMapping("/allergies")
public class AllergyControllerAdapter {

static final Logger log = LoggerFactory.getLogger(AllergyControllerAdapter.class);

private final GetAllAllergiesQuery getAllAllergiesQuery;

public AllergyControllerAdapter(GetAllAllergiesQuery getAllAllergiesQuery) {
this.getAllAllergiesQuery = getAllAllergiesQuery;
}

@GetMapping
public ResponseEntity<?> getAll() {
log.info("GET all allergies");
@Tag(name = "Parametric Endpoints", description = "Parametric values of immutable resources")
@Operation(summary = "GET all the allergies")
@ApiResponses(value = {
@ApiResponse(
responseCode = "200",
description = "Return all the existent allergies",
content = @Content(
mediaType = "application/json",
array = @ArraySchema(schema = @Schema(implementation = ParametricResponse.class))
)
),
@ApiResponse(
responseCode = "503",
description = "Service unavailable",
content = @Content(
mediaType = "application/json",
schema = @Schema(implementation = GlobalExceptionHandler.ApiErrorResponse.class)
)
)
})
public ResponseEntity<List<ParametricResponse>> getAll() {
log.info("Executing GET all allergies");
List<Allergy> allergies = getAllAllergiesQuery.execute();
List<ParametricResponse> response = allergies.stream().map(this::buildParametricResponse).toList();
List<ParametricResponse> response = allergies.stream().map(ParametricResponse::fromDomain).toList();

log.info("All allergies are retrieved successfully");
return ResponseEntity.ok(response);
}

private ParametricResponse buildParametricResponse(Allergy allergy) {
return ParametricResponse.builder()
.id(allergy.getId())
.description(allergy.getDescription())
.build();
}
}
Loading