CineShare logo

CineShare

Introduction

CineShare is a personal project focused on exploring modern web technologies and cloud infrastructure. This learning experience helped me gain valuable insights for future real-world applications.

The platform enables users to share and discover movie and TV show recommendations within a social community.

Technologies

Throughout this project, I have explored a variety of technologies, both frontend and backend, to build a full-stack application.

Angular icon
Spring Boot icon
MySQL icon
AWS icon
OpenAI icon

Frontend

Angular CLI: HTML, CSS, TypeScript

This Angular project utilizes core Angular modules, NgRx for state management, and server-side rendering via Express. It incorporates Bootstrap and Tailwind CSS for styling, along with DaisyUI for UI components.

CineShare main page

Main Page

Backend

Spring Boot: Java

The backend is powered by Spring Boot, leveraging multiple starters such as Data JPA for database access, Spring Security for authentication, and Spring MVC with an embedded Tomcat server. It integrates MySQL for database connectivity, Lombok to reduce boilerplate code, JJWT for JWT handling, Springdoc OpenAPI for API documentation, and Actuator for monitoring.

Cybersecurity

Security features are currently under development. The frontend uses CryptoJS to encrypt payloads via AES encryption, while the backend implements Spring Security for JWT-based authentication. JWT filters unauthorized requests, and all passwords are encrypted both in transit and at rest in the database. Additionally, an SSL certificate is in place for HTTPS.

Register page showing security implementation

User registration with security measures

Cloud Infrastructure

Working with AWS has been a new experience for me, moving beyond hosting simple static websites via GitHub Pages. I now use Amplify for frontend hosting, Elastic Beanstalk for backend deployment, RDS for database management, and Route 53 for domain management. This project has introduced me to the extensive possibilities of cloud computing, particularly the idea of building serverless applications.

AWS technologies diagram

AWS Services Architecture

AI Tools

GitHub Copilot and ChatGPT have been invaluable companions throughout this project. Copilot assisted with code-related queries and context-driven suggestions, while ChatGPT was helpful for broader questions, such as selecting appropriate cloud solutions.

GitHub Copilot interface

Conclusion

This project has enabled me to develop a full-stack application, covering various aspects from frontend to backend, security, and cloud infrastructure.

My next project will explore serverless web apps, NoSQL databases, and AI APIs.

CineShare is no longer available.

Thank you for reading,

Julio Macias Gonzalez

Contact me