Sem anúncio, sem paywall e sem esteira infinita. Uma rede humana em construção com as pessoas, e aberta para quem quiser ajudar.
翻訳待ち
ソーシャルJava · HTMLGitHub @Rede-ENoisオンライン所有者未確認
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
API do Énóis — rede social brasileira para quem trabalha com tecnologia (Spring Boot 4 + Java 25, arquitetura hexagonal).
翻訳待ち
Loading the full README.
Read the full README ↗A API do Énóis (enois.ia.br): a rede social brasileira para quem trabalha com tecnologia. Aqui vivem as regras de negócio, a autorização, a moderação, a carteira (Faísca) e as integrações — o frontend só pede, e é aqui que se decide.
Spring Boot 4 (Java 25), arquitetura hexagonal (portas e adaptadores), um pacote por funcionalidade, Flyway para migrações, H2 nos testes e MariaDB 11.4 em produção.
O frontend fica no enois-frontend. O contrato entre
os dois é a API — mudar um lado sem o outro é a forma mais comum de quebrar a tela de alguém.
Começando agora? Leia o CONTRIBUTING.md (arquitetura, migrações, testes e
fluxo de contribuição) e o CODE_OF_CONDUCT.md. Falha de segurança tem canal
próprio no SECURITY.md — não vira issue pública.
docs/PUBLISHING_POLICY.md).| Assunto | Documento |
|---|---|
| Desenvolvimento local e onboarding | docs/LOCAL_DEVELOPMENT.md |
| Arquitetura e módulos | docs/ARCHITECTURE.md |
| API publicada | docs/API.md |
| Banco, tabelas e migrações | docs/DATABASE.md |
| Cache de leitura, invalidação e ETag | docs/CACHE.md |
| Deploy, imagens e GitOps | docs/DEPLOYMENT.md |
| Segurança, risco e antifraude | docs/SECURITY.md |
| Identidade e contas | docs/IDENTITY.md |
| Jogos indie | docs/GAMES.md |
| Notificações: push por categoria e resumo semanal | docs/DIGEST.md |
| Portal do desenvolvedor (API pública) | docs/DEVELOPERS_PORTAL.md |
GNU General Public License v3.0 — o texto completo está em LICENSE.
Copyright (C) 2026 Énóis (Rede-ENois). Este programa é software livre: você pode redistribuí-lo e/ou modificá-lo sob os termos da GPL-3.0, sem nenhuma garantia. O frontend segue a mesma licença, para os dois repositórios ficarem sob o mesmo regime.
mvnw wrapper)./mvnw spring-boot:run
This starts with the dev profile using an H2 in-memory database. Swagger UI is available at http://localhost:8081/swagger-ui.html.
| Profile | Database | How to activate |
|---|---|---|
dev | H2 (memory) | SPRING_PROFILES_ACTIVE=dev |
hml | MariaDB | SPRING_PROFILES_ACTIVE=hml |
prd | MariaDB | SPRING_PROFILES_ACTIVE=prd |
There is no default profile: the packaged app refuses to boot without SPRING_PROFILES_ACTIVE.
./mvnw spring-boot:run runs as dev; pick another with -Dspring-boot.run.profiles=<profile>.
# Start MariaDB
docker run -d --name rede-mariadb \
-e MARIADB_ROOT_PASSWORD=root \
-e MARIADB_DATABASE=rede_hml \
-e MARIADB_USER=rede_hml \
-e MARIADB_PASSWORD=rede_hml \
-p 3306:3306 mariadb:11
# Run with hml profile
./mvnw spring-boot:run -Dspring-boot.run.profiles=hml
Production runs MariaDB, reached through MySQL Connector/J (jdbc:mysql://) with Hibernate's
MariaDBDialect. The dialect must stay MariaDB's: MySQLDialect renders pessimistic locks as
for update of <alias>, which MariaDB rejects (PessimisticLockSqlTests guards it).
# Start MariaDB
docker run -d --name rede-mariadb-prd \
-e MARIADB_ROOT_PASSWORD=root \
-e MARIADB_DATABASE=rede_prd \
-e MARIADB_USER=rede_prd \
-e MARIADB_PASSWORD=rede_prd \
-p 3306:3306 mariadb:11.4
# Run with prd profile
./mvnw spring-boot:run -Dspring-boot.run.profiles=prd
./mvnw clean package -DskipTests
Produces target/rede-0.0.1-SNAPSHOT.jar.
./mvnw test
All 24 integration tests must pass.
# Build and start (defaults to dev profile with H2)
docker compose up --build
# Ferramentas opcionais de desenvolvimento (SMTP fake + UI do Mailpit):
docker compose -f docker-compose.yml -f docker-compose.dev.yml up --build
# e-mails capturados em http://localhost:8025
# With hml profile and MariaDB
docker compose --profile hml up --build
GET /actuator/healthGET /actuator/metricsGET /actuator/prometheusThe project follows hexagonal architecture:
This is the beginning of the README. Read the rest at the original. Read the full README ↗