02 · Research management platform
Luno
A full-stack platform for running academic research projects, with separate dashboards and permissions for admins, faculty and students.
- Built with
- Next.js, React, FastAPI
- Status
- Staging on AWS EC2
System overview
Next.js
React · role dashboards
Nginx
HTTPS
API Gateway
FastAPI services
- auth
- projects
- files
- references
- notifications
- dashboards
gRPC + Kafkainter-service messaging
Redis
cache
PostgreSQL
storage
Problem
Admins, faculty and students work on the same projects, files and references, but each role needs different access and a different view of the work.
Approach
- Next.js and React frontend over FastAPI microservices.
- Covers auth, project management, file uploads, references, notifications and role-based dashboards.
- API Gateway in front; gRPC and Kafka for inter-service messaging.
- Redis caching over PostgreSQL storage.
- Docker Compose, Nginx with HTTPS, and JWT/RBAC, staged on AWS EC2.
Key decisions
One gateway, many services
Clients talk to a single API Gateway, while the services behind it exchange messages over gRPC and Kafka.
Roles as a first-class concept
JWT authentication with role-based access control drives separate dashboards for admin, faculty and student users.
Analytics by role
Usage tracking across the platform records access patterns per role, not just raw page views.
Stack
- Next.js
- React
- FastAPI
- gRPC
- Kafka
- Redis
- PostgreSQL
- Nginx
- Docker Compose
- AWS EC2