<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Alejandro Tacoronte González</title>
    <description>The latest articles on Forem by Alejandro Tacoronte González (@alejandrotg-code).</description>
    <link>https://forem.com/alejandrotg-code</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3616093%2F70ea9956-c97f-45cb-a939-15081bbaf483.png</url>
      <title>Forem: Alejandro Tacoronte González</title>
      <link>https://forem.com/alejandrotg-code</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/alejandrotg-code"/>
    <language>en</language>
    <item>
      <title>Building a Movie Recommendation API with Spring Boot 🎬</title>
      <dc:creator>Alejandro Tacoronte González</dc:creator>
      <pubDate>Sat, 14 Mar 2026 12:30:09 +0000</pubDate>
      <link>https://forem.com/alejandrotg-code/building-a-movie-recommendation-api-with-spring-boot-162b</link>
      <guid>https://forem.com/alejandrotg-code/building-a-movie-recommendation-api-with-spring-boot-162b</guid>
      <description>&lt;p&gt;Recently I built a backend API for a movie and TV show recommendation platform using &lt;strong&gt;Java and Spring Boot&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;The goal of the project was to practice designing a &lt;strong&gt;REST API&lt;/strong&gt;, implementing &lt;strong&gt;authentication&lt;/strong&gt;, and integrating an external API.&lt;/p&gt;




&lt;h2&gt;
  
  
  Features
&lt;/h2&gt;

&lt;p&gt;The API includes several features:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Search movies and TV shows using the TMDB API&lt;/li&gt;
&lt;li&gt;User authentication with JWT&lt;/li&gt;
&lt;li&gt;Save favorite movies and shows&lt;/li&gt;
&lt;li&gt;Rate content&lt;/li&gt;
&lt;li&gt;Get trending content&lt;/li&gt;
&lt;li&gt;RESTful API design&lt;/li&gt;
&lt;li&gt;API documentation using Swagger / OpenAPI&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Tech Stack
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Backend
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Java 21&lt;/li&gt;
&lt;li&gt;Spring Boot&lt;/li&gt;
&lt;li&gt;Spring Security&lt;/li&gt;
&lt;li&gt;JWT Authentication&lt;/li&gt;
&lt;li&gt;Spring Data JPA&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Database
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;PostgreSQL&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  External API
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;TMDB API (The Movie Database)&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Documentation
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Swagger / OpenAPI&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Example API Request
&lt;/h2&gt;

&lt;p&gt;Example request to get trending content:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight http"&gt;&lt;code&gt;&lt;span class="err"&gt;GET /content/trending
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Example response:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"page"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"results"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"title"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"War Machine"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"release_date"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"2026-02-12"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"vote_average"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mf"&gt;7.1&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  Project Architecture
&lt;/h2&gt;

&lt;p&gt;The application follows a layered architecture:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Controller → Service → Repository → Database
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This structure helps keep the code organized and maintainable.&lt;/p&gt;




&lt;h2&gt;
  
  
  API Documentation
&lt;/h2&gt;

&lt;p&gt;The API is documented using &lt;strong&gt;Swagger / OpenAPI&lt;/strong&gt;, which makes it easy to explore and test the endpoints.&lt;/p&gt;




&lt;h2&gt;
  
  
  What I learned
&lt;/h2&gt;

&lt;p&gt;While building this project I practiced several backend concepts:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Designing REST APIs&lt;/li&gt;
&lt;li&gt;Implementing authentication with Spring Security&lt;/li&gt;
&lt;li&gt;Using JWT for authorization&lt;/li&gt;
&lt;li&gt;Integrating external APIs&lt;/li&gt;
&lt;li&gt;Structuring a backend project using layered architecture&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  GitHub Repository
&lt;/h2&gt;

&lt;p&gt;You can find the full project here:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/alejandrotg-code/tv-and-movie-db" rel="noopener noreferrer"&gt;https://github.com/alejandrotg-code/tv-and-movie-db&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;Feedback and suggestions are always welcome!&lt;/p&gt;

</description>
      <category>java</category>
      <category>springboot</category>
      <category>backend</category>
      <category>api</category>
    </item>
    <item>
      <title>My first contribution to an OpenSearch project: A Junior’s journey 🚀</title>
      <dc:creator>Alejandro Tacoronte González</dc:creator>
      <pubDate>Sat, 28 Feb 2026 12:30:42 +0000</pubDate>
      <link>https://forem.com/alejandrotg-code/my-first-contribution-to-an-opensearch-project-a-juniors-journey-3i8i</link>
      <guid>https://forem.com/alejandrotg-code/my-first-contribution-to-an-opensearch-project-a-juniors-journey-3i8i</guid>
      <description>&lt;h2&gt;
  
  
  🇺🇸 English Version
&lt;/h2&gt;

&lt;h2&gt;
  
  
  How it started
&lt;/h2&gt;

&lt;p&gt;Hello world! I'm Alejandro, a Junior Developer currently studying AI &amp;amp; Big Data. Like many beginners, I used to look at huge GitHub repositories (like those from Amazon or the Linux Foundation) with a mix of respect and fear. I thought: "I'm not ready to contribute there yet."&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;I was wrong.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Yesterday, I made my first contribution to the &lt;code&gt;opensearch-agent-server&lt;/code&gt; project, managed by &lt;strong&gt;Mingshi Liu (@mingshl)&lt;/strong&gt;, a Machine Learning Engineer at &lt;strong&gt;AWS OpenSearch&lt;/strong&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  It's not "just" a license
&lt;/h2&gt;

&lt;p&gt;My task was to add the &lt;strong&gt;Apache 2.0 LICENSE&lt;/strong&gt; file. You might think: &lt;em&gt;"That's not coding!"&lt;/em&gt;. But for a Junior, this was a masterclass in professional workflows:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Reading the Guidelines:&lt;/strong&gt; I had to study the &lt;code&gt;CONTRIBUTING.md&lt;/code&gt; file.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;DCO (Developer Certificate of Origin):&lt;/strong&gt; I learned that big companies require signed commits (&lt;code&gt;git commit -s&lt;/code&gt;) for legal safety.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Communication:&lt;/strong&gt; I had to interact in English with a Senior Engineer to get the task assigned.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  The feeling
&lt;/h2&gt;

&lt;p&gt;Seeing an engineer from &lt;strong&gt;Amazon&lt;/strong&gt; say &lt;em&gt;"thanks for taking the initiative"&lt;/em&gt; and seeing my name in the "Assigned" section was a huge boost for my confidence. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgx5w6d38lf710zdpkg7f.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgx5w6d38lf710zdpkg7f.png" alt="Assign Task" width="800" height="409"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnk2oqx5hffek5fkze51k.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnk2oqx5hffek5fkze51k.png" alt="Pull Request status" width="800" height="420"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;My advice for Juniors:&lt;/strong&gt; Don't wait to be a Senior to contribute. Start with documentation, licenses, or small fixes. The community is waiting for you!&lt;/p&gt;




&lt;h2&gt;
  
  
  🇪🇸 Versión en Español
&lt;/h2&gt;

&lt;h2&gt;
  
  
  Cómo empezó todo
&lt;/h2&gt;

&lt;p&gt;¡Hola a todos! Soy Alejandro, un desarrollador Junior estudiante de IA y Big Data. Como muchos principiantes, solía mirar los grandes repositorios de GitHub (como los de Amazon o la Fundación Linux) con una mezcla de respeto y miedo. Pensaba: "Todavía no estoy listo para contribuir ahí".&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Estaba equivocado.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Ayer hice mi primera contribución al proyecto &lt;code&gt;opensearch-agent-server&lt;/code&gt;, gestionado por &lt;strong&gt;Mingshi Liu (@mingshl)&lt;/strong&gt;, ingeniera de Machine Learning en &lt;strong&gt;AWS OpenSearch&lt;/strong&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  No es "solo" una licencia
&lt;/h2&gt;

&lt;p&gt;Mi tarea fue añadir el archivo &lt;strong&gt;Apache 2.0 LICENSE&lt;/strong&gt;. Podrías pensar: &lt;em&gt;"¡Eso no es programar!"&lt;/em&gt;. Pero para un Junior, esto fue una clase magistral de flujos de trabajo profesionales:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Leer las reglas:&lt;/strong&gt; Tuve que estudiar el archivo &lt;code&gt;CONTRIBUTING.md&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;DCO (Developer Certificate of Origin):&lt;/strong&gt; Aprendí que las grandes empresas exigen commits firmados (&lt;code&gt;git commit -s&lt;/code&gt;) por seguridad legal.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Comunicación:&lt;/strong&gt; Tuve que interactuar en inglés con una ingeniera Senior para que me asignaran la tarea.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  La sensación
&lt;/h2&gt;

&lt;p&gt;Ver a una ingeniera de &lt;strong&gt;Amazon&lt;/strong&gt; decir &lt;em&gt;"gracias por tomar la iniciativa"&lt;/em&gt; y ver mi nombre en la sección de "Asignado" fue un subidón de confianza increíble.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Mi consejo para otros Juniors:&lt;/strong&gt; No esperes a ser Senior para contribuir. Empieza con documentación, licencias o errores pequeños. ¡La comunidad te está esperando!&lt;/p&gt;




&lt;h3&gt;
  
  
  Let's connect! / ¡Conectemos!
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;GitHub:&lt;/strong&gt; &lt;a href="https://github.com/alejandrotg-code" rel="noopener noreferrer"&gt;alejandrotg-code&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;LinkedIn:&lt;/strong&gt; &lt;a href="https://www.linkedin.com/in/alejandrotacoronte/" rel="noopener noreferrer"&gt;https://www.linkedin.com/in/alejandrotacoronte/&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>opensource</category>
      <category>beginners</category>
      <category>spanish</category>
      <category>aws</category>
    </item>
    <item>
      <title>Looking for Advice as a Junior Fullstack Developer</title>
      <dc:creator>Alejandro Tacoronte González</dc:creator>
      <pubDate>Mon, 17 Nov 2025 18:50:08 +0000</pubDate>
      <link>https://forem.com/alejandrotg-code/looking-for-advice-as-a-junior-fullstack-developer-69n</link>
      <guid>https://forem.com/alejandrotg-code/looking-for-advice-as-a-junior-fullstack-developer-69n</guid>
      <description>&lt;h2&gt;
  
  
  Looking for Advice as a Junior Fullstack Developer (Java, Node.js, React)
&lt;/h2&gt;

&lt;p&gt;Hi everyone 👋,&lt;/p&gt;

&lt;p&gt;My name is Alejandro Tacoronte, and I completed my &lt;strong&gt;(Cross-Platform Application Development) studies in 2024&lt;/strong&gt;. I’m currently looking to grow as a &lt;strong&gt;junior fullstack developer&lt;/strong&gt; and would love to get advice from those with experience in the industry.&lt;/p&gt;

&lt;p&gt;I have experience and knowledge in:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Backend:&lt;/strong&gt; Java and Node.js
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Frontend:&lt;/strong&gt; Some experience with React
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Databases:&lt;/strong&gt; SQL
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Version Control:&lt;/strong&gt; Git
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I’ve worked on projects during my studies and internships, and now I want to &lt;strong&gt;build my own projects that demonstrate my skills and ability to learn&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;💡 I’d love to ask the community:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;What “mini projects” would you recommend for a junior fullstack developer to stand out?
&lt;/li&gt;
&lt;li&gt;Which technologies or frameworks are most relevant in 2025?
&lt;/li&gt;
&lt;li&gt;Any advice on how to showcase skills effectively, even without years of professional experience?
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;I’d greatly appreciate any tips, resources, or personal experiences. 🙏  &lt;/p&gt;

&lt;p&gt;Thanks for reading! I’m looking forward to sharing my progress and learning alongside you all.&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>career</category>
      <category>portfolio</category>
    </item>
  </channel>
</rss>
