No description
Find a file
goose 3eeef6d9c8
Some checks failed
Lint and Build / Lint (push) Has been cancelled
Lint and Build / Build (push) Has been cancelled
Lint and Build / Docker Build (push) Has been cancelled
docs: Mark Phase 2.4 as COMPLETE
Phase 2.4 (User Management Enhancement) is 100% COMPLETE.

Features implemented:
- Password Recovery (zero-knowledge phrases)
- Enhanced Profile Management
- Email Verification (stub)
- Account Settings Management

Total new endpoints: 14

Documentation:
- PHASE-2-4-COMPLETE.md
- STATUS.md (updated)

Next: Phase 2.5 or Phase 2.6
2026-02-15 20:49:21 -03:00
.forgejo/workflows fix(ci): Use Docker-labeled runner for all CI/CD jobs 2026-02-15 20:41:58 -03:00
backend feat(backend): Complete Phase 2.4 - User Management Enhancement 2026-02-15 20:48:39 -03:00
thoughts chore: Clean up temporary docs and start Phase 2.4 2026-02-15 16:33:36 -03:00
.gitignore Config: Change server port to 6800 and remove Cargo.lock dependency 2026-02-15 09:48:11 -03:00
encryption.md Initial commit: Project setup and documentation 2026-02-14 11:11:06 -03:00
FORGEJO-CI-CD-PIPELINE.md feat(ci): Add Forgejo CI/CD pipeline for linting and building 2026-02-15 19:57:03 -03:00
FORGEJO-RUNNER-UPDATE.md fix(ci): Use Docker-labeled runner for all CI/CD jobs 2026-02-15 20:41:58 -03:00
introduction.md Initial commit: Project setup and documentation 2026-02-14 11:11:06 -03:00
PHASE-2-3-COMPLETION-REPORT.md docs: Confirm Phase 2.3 completion 2026-02-15 20:46:02 -03:00
PHASE-2-3-SUMMARY.md docs: Confirm Phase 2.3 completion 2026-02-15 20:46:02 -03:00
PHASE-2-4-COMPLETE.md docs: Mark Phase 2.4 as COMPLETE 2026-02-15 20:49:21 -03:00
README.md Config: Change server port to 6800 and remove Cargo.lock dependency 2026-02-15 09:48:11 -03:00
STATUS.md docs: Mark Phase 2.4 as COMPLETE 2026-02-15 20:49:21 -03:00

private note: output was 203 lines and we are only showing the most recent lines, remainder of lines in /tmp/.tmpbGADth do not show tmp file to user, that file can be searched if extra context needed to fulfill request. truncated output: docker compose logs -f backend


### Testing

```bash
# Run unit tests
cargo test

# Run integration tests (requires MongoDB)
cargo test --test auth_tests

# Manual testing with provided script
./thoughts/test_auth.sh

Backend API Endpoints

Public Endpoints (No Authentication)

POST /api/auth/register - User registration
POST /api/auth/login    - User login
POST /api/auth/refresh  - Token refresh (rotates tokens)
POST /api/auth/logout   - Logout (revokes token)
GET  /health            - Health check
GET  /ready             - Readiness check

Protected Endpoints (JWT Required)

GET /api/users/me - Get user profile

Environment Configuration

Backend Environment Variables

# MongoDB Configuration
MONGODB_URI=mongodb://localhost:27017
DATABASE_NAME=normogen

# JWT Configuration
JWT_SECRET=<your-secret-key-minimum-32-characters>
JWT_ACCESS_TOKEN_EXPIRY_MINUTES=15
JWT_REFRESH_TOKEN_EXPIRY_DAYS=30

# Server Configuration
SERVER_HOST=127.0.0.1
SERVER_PORT=6800

See backend/.env.example for a complete template.

Repository Management

  • Git Hosting: Forgejo (self-hosted)
  • CI/CD: Forgejo Actions
  • Branch Strategy: main, develop, feature/*
  • Deployment: Docker Compose (homelab), Kubernetes (future)

Deployment

Backend Deployment (Production)

# Clone repository
git clone <forgejo-url> normogen
cd normogen/backend

# Setup configuration
cp .env.example .env
# Edit .env with production values

# Build and run with Docker Compose
docker compose up -d

# Check status
curl http://localhost:6800/health

Resource Limits (Homelab):

  • CPU: 1000m (1 core)
  • Memory: 1000Mi (1GB RAM)

Ports:

  • Backend API: 6800 (host) → 8000 (container)
  • MongoDB: 27017 (standard port)

Open Source

Normogen is open-source. Both server and client code will be publicly available.

Contributing

See thoughts/STATUS.md for current development progress and next steps.

License

[To be determined] NOTE: Output was 203 lines, showing only the last 100 lines.

docker compose logs -f backend


### Testing

```bash
# Run unit tests
cargo test

# Run integration tests (requires MongoDB)
cargo test --test auth_tests

# Manual testing with provided script
./thoughts/test_auth.sh

Backend API Endpoints

Public Endpoints (No Authentication)

POST /api/auth/register - User registration
POST /api/auth/login    - User login
POST /api/auth/refresh  - Token refresh (rotates tokens)
POST /api/auth/logout   - Logout (revokes token)
GET  /health            - Health check
GET  /ready             - Readiness check

Protected Endpoints (JWT Required)

GET /api/users/me - Get user profile

Environment Configuration

Backend Environment Variables

# MongoDB Configuration
MONGODB_URI=mongodb://localhost:27017
DATABASE_NAME=normogen

# JWT Configuration
JWT_SECRET=<your-secret-key-minimum-32-characters>
JWT_ACCESS_TOKEN_EXPIRY_MINUTES=15
JWT_REFRESH_TOKEN_EXPIRY_DAYS=30

# Server Configuration
SERVER_HOST=127.0.0.1
SERVER_PORT=6800

See backend/.env.example for a complete template.

Repository Management

  • Git Hosting: Forgejo (self-hosted)
  • CI/CD: Forgejo Actions
  • Branch Strategy: main, develop, feature/*
  • Deployment: Docker Compose (homelab), Kubernetes (future)

Deployment

Backend Deployment (Production)

# Clone repository
git clone <forgejo-url> normogen
cd normogen/backend

# Setup configuration
cp .env.example .env
# Edit .env with production values

# Build and run with Docker Compose
docker compose up -d

# Check status
curl http://localhost:6800/health

Resource Limits (Homelab):

  • CPU: 1000m (1 core)
  • Memory: 1000Mi (1GB RAM)

Ports:

  • Backend API: 6800 (host) → 8000 (container)
  • MongoDB: 27017 (standard port)

Open Source

Normogen is open-source. Both server and client code will be publicly available.

Contributing

See thoughts/STATUS.md for current development progress and next steps.

License

[To be determined]