Commit Graph

8 Commits

Author SHA1 Message Date
Jeff Emmett 766f72dd83 refactor: migrate EncryptID URLs from encryptid.jeffemmett.com to auth.ridentity.online
Part of the ridentity.online branding migration. The EncryptID auth
server is now accessible at auth.ridentity.online (with the legacy
encryptid.jeffemmett.com kept as a backward-compatible alias).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 22:20:06 -08:00
Jeff Emmett 3ec36b52d5 chore: migrate SMTP from mx.jeffemmett.com to mail.rmail.online
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 20:15:24 +00:00
Jeff Emmett a9866f4a32 feat: migrate from NextAuth to pure EncryptID auth
Replace the NextAuth Credentials provider wrapper with direct EncryptID
SDK integration. The auth() function now reads the encryptid_token cookie
directly, keeping the same interface so all API routes and server
components work unchanged.

- Replace SessionProvider with EncryptIDProvider
- Add /api/auth/session endpoint for cookie management
- Update signin/signup pages to use SDK login/register + cookie sync
- Update Navbar to use useEncryptID() hook
- Remove next-auth, @auth/prisma-adapter, bcryptjs dependencies
- Drop Account, Session, VerificationToken Prisma models + DB tables
- Remove legacy email/password register route

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-18 11:04:55 +00:00
Jeff Emmett 5cfbe70791 Replace Resend env vars with SMTP config
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-15 16:13:19 -07:00
Jeff Emmett 9d3c8ee5dc Fix Docker build: use parent context for encryptid-sdk
The @encryptid/sdk dependency uses file:../encryptid-sdk which
requires the build context to include the sibling SDK directory.
Also regenerated lock file to include the SDK.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-14 19:23:08 -07:00
Jeff Emmett e22063c092 Add multi-tenant Spaces with subdomain routing
Introduces independent community Spaces where admins can manage members,
allot credits, and run proposals. Each Space gets its own subdomain
(e.g. cryptocommons.rvote.online). Home page and demo are now fully
public with no auth required.

- Schema: Space, SpaceMember, SpaceInvite models with per-space credits
- Middleware: subdomain detection + URL rewriting to /s/[slug]/*
- APIs: Space CRUD, member management, invite system, space-scoped voting
- UI: Space dashboard, proposals, members, settings, join pages
- Extracted InteractiveDemo component for home/demo pages
- Global /proposals routes redirect to /spaces

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-10 22:10:19 +00:00
Jeff Emmett baa9af3f46 Fix Traefik routing with docker.network label
- Add traefik.docker.network=traefik-public label
- Remove TLS requirement (handled by Cloudflare)
- Use only web entrypoint

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-05 09:30:56 +00:00
Jeff Emmett c6b7f5d899 feat: implement rVote.online - quadratic voting platform
Complete implementation of a Reddit-style proposal ranking system with:

- Quadratic voting with credit decay (10 credits/day, 30-60 day decay)
- Two-stage voting: Ranking (quadratic) → Pass/Fail (time-boxed)
- Auto-promotion at score ≥100 to 7-day voting period
- NextAuth.js authentication with email/password
- PostgreSQL database with Prisma ORM
- shadcn/ui components with Tailwind CSS
- Docker configuration for deployment

Features:
- User registration/login with credit system
- Proposal creation, editing, deletion
- Upvote/downvote with quadratic cost (weight² credits)
- Vote decay returning credits over time
- Pass/fail voting with Yes/No/Abstain
- User profile with voting history and credit tracking

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-05 04:48:20 +00:00