Comprehensive system developed with Spring Boot for the first animation club in Trujillo.
Tectoons is a web platform designed to centralize the broadcasting, management, and commercialization of digital artworks. The project solves the lack of technological infrastructure for artistic collectives by providing professional tools for portfolio exhibition and product sales.
The system implements Cumulative Role-Based Access Control (RBAC) and robust security, dividing functionality into key modules:
- Dynamic Portfolio: Artwork display with category filtering and smart search.
- Virtual Store: Product catalog with a temporary shopping cart and receipt generation.
- Interaction: "Likes" system, artist following, and profile management.
- Artist Application: Workflow for standard users to apply to become verified creators.
- Artwork Management (CRUD): Upload and manage illustrations for the portfolio.
- Product Management (CRUD): Publish items for sale in the store.
- Blog/Posts: Create informative content and updates.
- Artistic Profile: Customize biography and social media links.
- Role Management: Approve or reject artist applications.
- Supervision: Full control over users, content, and platform workflow.
- View Modes: Ability to toggle between User, Artist, and Admin views.
The project follows an MVC (Model-View-Controller) architecture and uses modern technologies from the Java ecosystem:
| Layer | Technologies |
|---|---|
| Backend | Java 17, Spring Boot 3, Spring Web, Spring Validator |
| Security | Spring Security (Auth & RBAC), BCrypt (Hashing) |
| Data | MySQL, Spring Data JPA, Hibernate (ORM) |
| Frontend | Thymeleaf, Bootstrap 5, HTML5/CSS3, JavaScript |
| Tools | Maven, Git/GitHub, Visual Studio Code, Postman |
The system is structured under modular and scalable design principles:
- Controller: Handles HTTP routing, sessions, and validations.
- Service: Business logic and cumulative role rules.
- Repository: Data abstraction using JPA.
- Security: Configuration of filters, CSRF, and URL-based access control.
Follow these steps to run the project locally:
-
Clone the repository:
git clone [https://github.com/FabrizioTC06/Tectoons-Web.git](https://github.com/FabrizioTC06/Tectoons-Web.git)
-
Database:
- Create a MySQL database named
tectoons_db. - Note: Hibernate will generate the tables automatically (
ddl-auto=update).
- Create a MySQL database named
-
Configuration:
- Update your credentials in
src/main/resources/application.properties:spring.datasource.url=jdbc:mysql://localhost:3306/tectoons_db spring.datasource.username=YOUR_USERNAME spring.datasource.password=YOUR_PASSWORD
- Update your credentials in
-
Execution:
- From the terminal:
./mvnw spring-boot:run - Or from your IDE by running
TectoonswebApplication.java.
- From the terminal:
-
Access:
- Browser:
http://localhost:9090
- Browser:
Developed by Fabrizio Teodor Celis - 2025 Academic Project - Computer and Systems Engineering, UTP