A modern digital platform for managing and exploring a virtual art gallery!
Pinacoteca is a comprehensive web platform designed to manage and explore an online art gallery.
It allows visitors to browse exhibits, curators to manage artworks and artists, and administrators to oversee the entire system.
The project is built with Java (Spring Boot) for the back-end, Angular for the front-end, and PostgreSQL as the database engine.
- Browse exhibitions and gallery rooms
- View details of artworks and artists
- Access the gallery with a personalized experience
- Save favorite artworks and exhibitions (feature under development)
- Manage the content of their assigned gallery rooms
- Add, edit, or remove artworks and artists
- Update room descriptions and exhibit details
- Full control of the platform
- Add, edit, or delete artworks, artists, and rooms
- Manage and ban registered users
- Assign or remove curator privileges
- Oversee the entire gallery system
- Java + Spring Boot
- PostgreSQL
- JWT Authentication
- Role-Based Authorization (Admin, Curator, User, Guest)
- Custom Error Handling
- OpenAPI for RESTful documentation
- Entity Pagination for optimized database queries
- Docker for the email notification service
- Angular
- HTML, CSS
- Bootstrap, Tailwind, Flowbite, Angular Material
- Google Maps API (optional: for location-based exhibits)
- Java 17+
- Node.js 18+ and npm
- Angular CLI
- PostgreSQL
- Docker (for the email service)
git clone https://github.com/tuo-username/Pinacoteca.git
cd Pinacoteca
⚠️ Make sure PostgreSQL is installed on your system.
CREATE DATABASE pinacoteca- Then update the application.properties file with your PostgreSQL credentials.
⚠️ Ensure Docker is installed and running on your system. You can install MailDev from DockerHub or directly from its repository: 🔗 https://github.com/maildev/maildev
- Start Docker
- Launch the MailDev container
- Update the application.properties file with the container IP and listening port
cd backend
./mwn spring-boot:runcd frontend
npm install
ng serve- The application will be available at 👉 http://localhost:4200/