Freelance2026
Diaspor.org
A multi-tenant publishing platform: a branded news site for every diaspora organisation, and one national feed.
- Role
- Full-stack · freelance
- Period
- 05 - 09/2026
- Tenancy
- Subdomain per organisation
- Core
- Spring Boot · Next.js
01Overview
Diaspor.org gives each diaspora organisation its own branded news site on a subdomain, while a main portal aggregates their approved news into a single national feed.
I designed and built the whole system end to end: API, admin panel, public sites, database and media storage.
02The problem
Many small organisations need a professional news site, but running a separate site for each is expensive and fragments their content. The platform has to give every organisation its own identity while sharing one codebase, one database and one editorial pipeline.
03Architecture
One Spring Boot API serves two frontends: a React admin panel where organisations manage content, and a server-rendered Next.js site that renders every organisation's subdomain and the national portal.
Audiences
Organisation sites
Branded subdomain per org
National portal
Aggregated feed
Editors & admins
Content management
Frontend
Next.js public site
SSR · SEO
React admin panel
TypeScript
API
Spring Boot REST API
Java
Role-based access
Per-role permissions
Approval
Gate into the national feed
Data & infra
PostgreSQL
Versioned migrations
AWS S3
Media storage
Docker
Containerised backend
04Components
Public site
Every organisation, one app
- A single Next.js application renders each organisation's branded subdomain site.
- Server-side rendering makes news pages fast and indexable by search engines.
Next.js · SSR
Admin panel
Where content is managed
- A React + TypeScript panel for creating and managing news, with access controlled by role.
React · TypeScript
REST API
Single source of truth
- Spring Boot API shared by both frontends.
- Role-based access control and an approval step for publishing to the national feed.
Java · Spring Boot
Storage
Data and media
- PostgreSQL schema evolves through versioned migrations.
- Images and media are stored in S3, not in the database.
PostgreSQL · AWS S3
05How it works
- 1
Write
An organisation's editor creates a news post in the admin panel.
- 2
Store
The API saves the post in PostgreSQL and uploads media to S3.
- 3
Publish
The post appears on the organisation's own subdomain site.
- 4
Approve
Approved posts are aggregated into the national feed on the main portal.
06Design decisions
Multi-tenant, not multi-deploy
One codebase and one database serve every organisation - new organisations are data, not new deployments.
SSR for public pages
News is read by search engines and shared on social media, so pages are rendered on the server.
Versioned migrations
Every schema change is a reviewed, repeatable migration, so environments never drift apart.
Media outside the database
S3 keeps the database small and the backend containers stateless and easy to redeploy.
07Tech stack
- Backend
- JavaSpring BootREST
- Frontend
- Next.jsReactTypeScript
- Data & infra
- PostgreSQLAWS S3Docker
Next case study
EduVision
An adaptive intelligent tutoring system with a neuro-symbolic architecture.