This guide walks you through cloning the repository, wiring up a local MariaDB database, starting the backend API on port 8081, and launching the React frontend — all the way to your first successful login as the platform operator (Documentation Index
Fetch the complete documentation index at: https://mintlify.com/GuillermoNavarro/Proyecto_comunidades/llms.txt
Use this file to discover all available pages before exploring further.
SUPER_ADMIN). By the end you will have a fully working local environment ready for development or evaluation.
Prerequisites
Before you begin, make sure the following tools are installed and available on yourPATH:
| Requirement | Minimum version | Notes |
|---|---|---|
| Java JDK | 21 | Required by Spring Boot 4. OpenJDK or any compatible distribution. |
| Apache Maven | 3.9+ | The project includes a Maven Wrapper (mvnw), so a global install is optional. |
| Node.js | 18+ | LTS recommended. npm is bundled with Node. |
| MariaDB or MySQL | 10.6+ / 8.0+ | A running instance accessible on localhost:3306. |
Clone the repository
Clone the project from its source and enter the root directory.The repository contains two sub-projects:
Set up the database
Connect to your MariaDB or MySQL server and create the application schema. Spring Boot’s Verify the database was created:
ddl-auto=update will create all tables automatically on first startup — you only need to create the empty database.The application connects to
localhost:3306 by default. If your MariaDB instance runs on a different host or port, update spring.datasource.url in backend/src/main/resources/application.properties accordingly.Configure and run the backend
The backend reads three secrets from environment variables to avoid storing credentials in source control. Set them in your shell before running the application:Then start the Spring Boot application from the On Windows use The backend listens on port 8081. The full
- Linux / macOS
- Windows (PowerShell)
- Windows (cmd)
backend/ directory:mvnw.cmd spring-boot:run. Maven will download dependencies on the first run. Once the application is ready you will see output similar to:application.properties configuration is shown below for reference:Configure and run the frontend
Open a new terminal, navigate to the The Vite dev server is configured to proxy API requests to the backend so that both services can run simultaneously without CORS issues. Verify that your Start the development server:Vite will print the local URL — typically http://localhost:5173. Open it in your browser.
frontend/ directory, and install dependencies:vite.config.js contains a proxy entry pointing to the backend port:Log in and bootstrap the platform
With both services running, open http://localhost:5173 in your browser. You will see the public landing page with a login form.First-time setup order:Once the
-
Log in as
SUPER_ADMINusing the credentials that were seeded into the database (or that you inserted manually into theusuariostable). TheSUPER_ADMINrole is the platform operator and has global access. -
Create the first community — navigate to Comunidades (
/comunidades) and click Nueva Comunidad. Fill in thenombre,direccion,ciudad, andcodPostalfields. -
Add an ADMIN user — navigate to Gestión de Usuarios (
/usuarios) and create a new user assigned to the community you just created, with theADMINrole. This user will act as the community president or treasurer.
Every newly created user has
cambiarPass = true by default. When that user logs in for the first time, the backend issues a JWT with the ROLE_PRE_AUTH authority, and the frontend forces a password-change screen before granting access to the rest of the application.ADMIN user has changed their password and logged in, they can invite residents (USER role), create fee quotas, manage documents, and post announcements — all scoped to their own community.What’s next?
Architecture
Understand how the backend layers, frontend pages, data model, and security filter chain fit together.
Swagger UI
Browse and test every REST endpoint with the built-in interactive API reference.