⚠️ IMPORTANT NOTICE⚠️ This repository contains the final public version of the project and is shared for portfolio and demonstration purposes only.
Therefore, this repository will not receive future updates, bug fixes, security patches, or new features.
Next.js frontend + Spring Boot API, with NextAuth (credentials) against the API. Docker Compose at the repo root runs MySQL, Redis, the API, and the frontend together.
NORTECNICA_FRONT_END/ # Next.js + Tailwind
NORTECNICA_SPRING_BOOT_API/ # Spring Boot (Java 21)
docker-compose.yml # MySQL + Redis + API + Next.js
DBnortecnica.sql # Sample DB (not production data)
- Node.js 18+
- Java 21+ (and Maven, or use the included Maven wrapper)
- Docker + Docker Compose (for the full stack)
- MySQL 8 (only if you run the API without Docker)
cd NORTECNICA_SPRING_BOOT_API
.\mvnw.cmd spring-boot:runOr build and run the JAR:
cd NORTECNICA_SPRING_BOOT_API
.\mvnw.cmd clean package -DskipTests
java -jar target/nortecnica-0.0.1-SNAPSHOT.jarDefault API port: 8111 (or whatever is set in your Spring config).
cd NORTECNICA_FRONT_END
npm install
npm run devUseful scripts: npm run build · npm run start · npm run lint
Env (frontend) — set in .env.local (or equivalent):
| Variable | Example |
|---|---|
NEXT_PUBLIC_API_BASE_URL |
http://localhost:8111 |
NEXTAUTH_URL |
http://localhost:3000 |
NEXTAUTH_SECRET / JWT_SECRET |
secure random strings |
Compose mounts the pre-built JAR, so build the API first, then start everything from the root:
cd NORTECNICA_SPRING_BOOT_API
mvn clean
.\mvnw.cmd clean package -DskipTests
cd ..
docker compose up -d --build| Service | Host port |
|---|---|
| Next.js | 3111 |
| API | 8111 |
| MySQL | 3307 → 3306 |
| Redis | 6379 |
Stop: docker compose down
- Auth: NextAuth credentials provider → API login. The API must be reachable at
NEXT_PUBLIC_API_BASE_URL. DBnortecnica.sqlis sample/demo data only.- Do not commit real secrets; generate with
openssl rand -base64 32. - Email / SMTP details: see
CONFIGURACAO_EMAIL.mdandNORTECNICA_SPRING_BOOT_API/EMAIL_VERIFICATION_SETUP.md.