A cloud-native Digital Asset Management platform for the media industry.
Bug Report
·
Feature Request
Expand
MediaFlows is a Digital Asset Management (DAM) platform that lets media teams ingest, organize, transform, and distribute large volumes of image and video assets from a single workspace. It pairs a Next.js web app with an API-only ASP.NET Core backend on AWS, fronted by Cognito-backed SSO and a CloudFront-served asset CDN.
The repository is split into four top-level workloads:
frontend/— Next.js 16 (App Router) + React 19 + Tailwind v4 web app, deployed to AWS Amplify Hosting.src/— ASP.NET Core 8 solution (MediaFlows.Web,MediaFlows.Data,MediaFlows.Shared) deployed to Elastic Beanstalk.lambda/— supporting AWS Lambda functions for async asset processing.infrastructure/— Terraform (bootstrap + main stack) provisioning the full AWS estate.
Landing page — a cinematic entry point into the workspace.
The repo runs three loosely-coupled workloads. Each has its own README with the deep details; this section gets you to the point where you can build any of them locally.
- Node.js 20+ and pnpm 9+ — frontend
- .NET SDK 8 — backend
- AWS CLI v2 with an
mediaflowsprofile — for deploys and SSM lookups - Terraform 1.6+ — for
infrastructure/ - GitHub CLI (
gh) — for the first-time bootstrap workflow
Clone the repo:
git clone https://github.com/mediaflows-tech/app.git
cd appThen bring up whichever workload you need:
# Frontend
cd frontend
pnpm install
cp .env.production.example .env.local # fill in Cognito + API values
pnpm dev # http://localhost:3000
# Backend
dotnet restore MediaFlows.slnx
dotnet run --project src/MediaFlows.Web # http://localhost:5000
# Infrastructure (first-time deploy)
make deploy # see infrastructure/README.mdWorkload-specific instructions live in frontend/README.md and infrastructure/README.md.
Once deployed behind a custom domain, MediaFlows serves four endpoints:
| Subdomain | Service |
|---|---|
web.<domain> |
Next.js frontend (AWS Amplify Hosting) |
api.<domain> |
ASP.NET Core API (Elastic Beanstalk) |
login.<domain> |
Cognito Hosted UI |
cdn.<domain> |
CloudFront asset delivery |
The frontend talks to the API over HTTPS and SignalR (realtime hub), assets are delivered via the CloudFront CDN, and async processing runs through the Lambda pipeline. See infrastructure/README.md for how the AWS estate is provisioned.
See the open issues for a full list of proposed features (and known issues).
Contributions are welcome. The usual flow:
- Fork the repo and create your feature branch (
git checkout -b feat/your-feature). - Commit your changes.
- Push to your fork and open a Pull Request against
main.
The CI deploy workflows (deploy.yml, terraform-apply.yml) ship with their automatic push triggers disabled. Run them manually from the Actions tab (workflow_dispatch) once AWS credentials are configured for your account.
No license has been declared. All rights reserved by the project authors. Contact the maintainers before reusing this code.
MediaFlows — @mediaflows-tech
Project Link: https://github.com/mediaflows-tech/app









