Table of Contents
Choose your path to get started with curate.fun ⚡
If you want to submit and curate content:
- 🎯 Head to the User Guide
- 🔗 Learn how to submit content and moderate feeds
- 🌟 Apply to become a curator for specific feeds
If you want to build and customize feeds:
- 📖 Start with the Configuration Guide
- 🚀 Learn about Deployment
- 🔌 Explore Plugin Development
graph TD
%% Content Sources
subgraph Sources["Content Sources"]
Twitter["Twitter Source Plugin"]
Telegram["Telegram Source Plugin"]
LinkedIn["LinkedIn Source Plugin (Planned)"]
style Twitter color:black
style Telegram color:black
style LinkedIn color:black
end
%% Submission Processing
subgraph Submission["Submission Processing"]
SubmissionService["Submission Service"]
Moderation["Curator Moderation"]
style SubmissionService color:black
style Moderation color:black
end
%% Content Processing
subgraph Processing["Content Processing"]
ProcessorService["Processor Service"]
GlobalTransform["Global Transformations"]
style ProcessorService color:black
style GlobalTransform color:black
end
%% Distribution
subgraph Distribution["Distribution"]
DistributionService["Distribution Service"]
DistTransform["Distributor-specific Transforms"]
style DistributionService color:black
style DistTransform color:black
end
%% Distributor Plugins
subgraph Distributors["Distributor Plugins"]
TelegramDist["Telegram"]
RSS["RSS"]
Notion["Notion"]
Supabase["Supabase"]
style TelegramDist color:black
style RSS color:black
style Notion color:black
style Supabase color:black
end
%% Flow connections
Sources --> SubmissionService
SubmissionService --> Moderation
Moderation --> ProcessorService
ProcessorService --> GlobalTransform
GlobalTransform --> DistributionService
DistributionService --> DistTransform
DistTransform --> Distributors
%% Styling
classDef service fill:#f9f,stroke:#333,stroke-width:2px
classDef plugin fill:#bbf,stroke:#333,stroke-width:1px
classDef process fill:#bfb,stroke:#333,stroke-width:1px
class SubmissionService,ProcessorService,DistributionService service
class Twitter,Telegram,LinkedIn,TelegramDist,RSS,Notion,Supabase plugin
class Moderation,GlobalTransform,DistTransform process
-
- React-based web interface
- Built with RSBuild and Tailwind CSS
- Handles user interactions and submissions
- See Frontend README for detailed documentation
-
- Node.js runtime with Hono.js framework
- Plugin-based architecture with module federation
- Service-oriented design with clear boundaries
- Twitter bot functionality
- API endpoints for frontend
- See Backend README for detailed documentation
This project uses a monorepo structure managed with Turborepo for efficient build orchestration:
curatedotfun/
├── frontend/ # React frontend application (app.curate.fun)
├── backend/ # Node.js backend service (app.curate.fun)
├── docs/ # Documentation website (docs.curate.fun)
├── landing/ # Landing page website (curate.fun)
├── package.json # Root package.json for shared dependencies
└── turbo.json # Turborepo configuration
The monorepo uses npm for package management. Install all dependencies with:
npm install
This will install dependencies for all packages in the monorepo.
Start both frontend and backend development servers:
npm run dev
This will launch:
- Frontend at http://localhost:5173
- Backend at http://localhost:3000
Build all packages:
npm run build
For deployment instructions, see our Deployment Guide.
npm run test
Tests are located in the backend's src/__tests__
directory. Run them using npm run test
.
For detailed information about configuration, submission process, and usage, please refer to our documentation:
- 📚 Documentation Website: Complete documentation
- 📖 Configuration Guide: Feed setup, plugins, and system configuration
- 👥 User Guide: How to submit and moderate content
- 🛠️ Developer Guide: Technical documentation for developers
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you're interested in contributing to this project, please read the contribution guide.