Table of Contents
The frontend leverages modern web technologies for optimal performance and developer experience:
-
Framework: React + TypeScript
- Component-based architecture
- Strong type safety
- Excellent ecosystem support
-
Build Tool: RSBuild
- High-performance build system
- Optimized production builds
- Modern development experience
-
Styling: Tailwind CSS
- Utility-first CSS framework
- Highly customizable
- Zero runtime overhead
-
Routing: TanStack Router
- Type-safe routing
- Efficient navigation
- Data-driven route handling
src/
├── components/ # React components
│ ├── FeedItem.tsx
│ ├── FeedList.tsx
│ ├── Header.tsx
│ ├── HowItWorks.tsx
│ ├── Layout.tsx
│ ├── Modal.tsx
│ └── Settings.tsx
├── lib/ # Utility functions and API clients
│ ├── api.ts
│ ├── config.ts
│ └── twitter.ts
├── routes/ # Application routes
│ ├── __root.tsx
│ ├── feed.$feedId.tsx
│ ├── index.tsx
│ └── settings.tsx
├── types/ # TypeScript definitions
├── App.tsx # Root component
└── index.tsx # Application entry point
The frontend provides a rich content viewing experience:
- Feed-based content organization
- Customizable content views
- Content filtering and sorting
- Responsive content cards
- Customizable feed preferences
- Theme selection
- Notification settings
- Distribution channel configuration
- Mobile-first approach
- Adaptive layouts
- Cross-browser compatibility
- Accessible UI components
- Node.js 18+
- Bun (recommended) or npm
- Backend service running locally (for full functionality)
- Install dependencies:
bun install
- Start development server:
bun run dev
The app will be available at http://localhost:5173
The frontend communicates with the backend service through a RESTful API:
- Content retrieval via
/api/feeds
endpoints - Settings management through
/api/settings
- Plugin configuration via
/api/plugins
- Content submission through Twitter integration
See the Backend README for detailed API documentation and service architecture.