OmniFeed is an intelligent personal dashboard for aggregating and managing multimedia content.
- Minimalist Vite+React+Tailwind frontend with glassmorphic cards and collapsible sidebar
- Express backend with REST API for triggering n8n workflows and managing Smart Filters
- Dynamic plugin architecture with runtime module loading
- n8n workflows for Music, RSS, Podcasts, and YouTube
- Docker Compose setup for frontend, backend, n8n workflow engine, and Postgres storage
- CI/CD via GitHub Actions: linting, testing, and Docker image builds
- First-run configuration wizard for account linking, feed discovery, notifications, and advanced settings
- Onboarding state persists via
/api/settings/onboarding
- Onboarding state persists via
- Node.js v18+
- Docker & Docker Compose
-
Copy the sample backend environment file and adjust credentials as needed:
cp backend/.env.example backend/.env
-
Install dependencies and start services via VS Code Tasks:
- Install Frontend Dependencies
- Start Frontend Dev
- Install Backend Dependencies
- Start Backend Dev
-
Alternatively, use Docker Compose:
docker-compose up --build
Run database migrations with `npm run migrate` inside the backend directory.- Frontend: http://localhost:3000
- Backend API: http://localhost:4000
- n8n Editor: http://localhost:5678
- Backend:
cd backend && npm test(defaults to an in-memory SQLite store whenNODE_ENV=test). Ensure dependencies are installed (npm install) before running. - Frontend: tests are not yet configured; coordinate with the team before introducing Vitest or similar tooling.
Please submit PRs against main. Ensure linting and tests pass before merging.
Start the backend with PROFILING=true npm run dev to log request durations.
- Health check:
curl http://localhost:4000/healthz(returns status, loaded plugins, timestamp). - Feed preview:
curl http://localhost:4000/api/feedsfor the latest snapshot (/api/feeds/music,/api/feeds/news, etc. for specific streams). - Logs: set
LOG_LEVEL=debugto increase verbosity; request IDs are emitted viax-request-idheaders and structured logs.