The Premier Faith-Based Streaming Platform
Fidarr is a modern, premium streaming platform dedicated to Christian music, videos, and podcasts. Stream, connect, and grow your faith with millions of listeners worldwide.
- Premium Audio Quality - Lossless CD-quality streaming
- Diverse Content - Music, videos, podcasts, and live streams
- Offline Mode - Download and listen anywhere
- Personalized Experience - Curated recommendations and playlists
- Community - Connect with millions of faith-focused listeners
- Multi-Device Support - Stream on any device seamlessly
- Content Management - Easy upload and organization tools
- Real-Time Analytics - Track audience engagement and performance
- Revenue Optimization - Fair compensation and monetization
- Creator Community - Connect with other Christian creators
- Professional Tools - Advanced features for growing your audience
- Dashboard - Comprehensive creator management interface
Fidarr is built as a monorepo with multiple independent applications:
fidarr/
βββ apps/
β βββ webapp/ # Main web application (app.fidarr.com)
β βββ website/ # Marketing website (fidarr.com)
β βββ creator/ # Creator dashboard (creator.fidarr.com)
β βββ admin/ # Admin dashboard (PRIVATE)
βββ packages/
β βββ ui/ # Shared UI components & branding
βββ Configuration files
- Frontend Framework: Next.js 14+ with React 19
- Styling: Tailwind CSS with custom RED branding
- Build System: Turbo (Turborepo)
- Package Manager: npm with workspaces
- Component Library: Radix UI + Shadcn UI
- Icons: Lucide React
- Theme Management: next-themes
- Forms: React Hook Form with Zod validation
- β Monorepo Structure - Shared code, independent deployments
- β Domain-Based Routing - Multiple subdomains for different apps
- β Consistent Branding - Unified RED color scheme across all apps
- β Smooth Animations - Modern transitions and effects
- β Responsive Design - Mobile-first approach
- β Dark/Light Mode - Theme switching with persistence
- β Accessibility - WCAG compliant components
- Node.js 18+
- npm 9+
- Clone the repository:
git clone https://github.com/enyojoo/fidarr.git
cd fidarr- Install dependencies:
npm install- Start development servers:
npm run devThis will start all applications in parallel:
- π Website: http://localhost:3000
- π± Webapp: http://localhost:3005
- π₯ Creator: http://localhost:3001
# Development
npm run dev # Start all apps in development mode
# Building
npm run build # Build all apps for production
npm run build # Builds with Turbo caching
# Starting
npm start # Start all apps in production mode
# Linting
npm run lint # Run linters across all apps
# Type Checking
npm run type-check # Run TypeScript type checkingWebapp (apps/webapp/)
- Main streaming application
- Music, videos, podcasts library
- Playlist management
- User profiles
- Audio player with queue management
Website (apps/website/)
- Marketing landing page
- Feature showcase
- Pricing information
- Creator highlights
- SEO optimized
Creator Dashboard (apps/creator/)
- Content upload and management
- Analytics and performance tracking
- Revenue dashboard
- Creator profile management
UI Package (packages/ui/)
- Shared UI components (50+ components)
- Brand colors and typography
- Theme provider and utilities
- Consistent design system
- Fidarr logo with theme awareness
Primary Brand Color: RED
- Light Mode:
#EF4444(HSL: 0 100% 36.7%) - Dark Mode:
#D83333(HSL: 4 80% 47%)
All UI elements use the RED branding for consistency across the platform.
- Font: Geist Sans (default), Geist Mono (code)
- Headings: Black weight (font-black) for impact
- Body: Regular weight with light variants for descriptions
The UI package exports 50+ reusable components including:
- Buttons, Cards, Dialogs, Dropdowns
- Forms (Input, Textarea, Select, Switch)
- Navigation (Sidebar, Tabs)
- Overlay (Modal, Popover, Toast)
- And many more...
Fidarr is optimized for Vercel deployment with:
- Multi-app monorepo support
- Automatic build optimization
- Environment-specific deployments
- CI/CD integration
Key Configuration:
packageManagerfield in rootpackage.json(npm@10.8.1)turbo.jsonfor build orchestration- Each app has independent build configuration
Apps are accessible via subdomains:
fidarr.com- Marketing websiteapp.fidarr.com- Main web applicationcreator.fidarr.com- Creator dashboard
Middleware handles domain-based routing automatically.
main- Production-ready code- Feature branches for development
Commits follow the convention:
[type]: [description]
Examples:
- feat: Add theme switching animation
- fix: Resolve sidebar color override
- refactor: Consolidate FidarrLogo component
- style: Update button styling
All Shadcn UI components are available in the UI package. Import them:
import { Button, Card, Dialog } from "@fidarr/ui"- Create component in
packages/ui/components/ - Export from
packages/ui/components/index.ts - Export from
packages/ui/index.ts - Use in any app via
@fidarr/uiimport
Theme switching is handled automatically across all apps:
import { useTheme } from "@fidarr/ui"
export function ThemeToggle() {
const { theme, setTheme } = useTheme()
// Use theme value and setter
}- Environment Variables: Use
.env.localfiles (not committed) - Type Safety: Full TypeScript support with strict mode
- Accessibility: WCAG 2.1 Level AA compliance
- Performance: Optimized with Next.js built-in features
- Responsive: Mobile-first design approach
Contributions are welcome! Please:
- Fork the repository
- Create a feature branch
- Make your changes
- Test locally:
npm run build - Submit a pull request
This project is proprietary. All rights reserved.
Built with β€οΈ for faith-focused creators and listeners worldwide.
Questions or Issues?
- π§ Email: support@fidarr.com
- π GitHub Issues: Report bugs here
- π¬ Community: Join our creator community
Made for faith. Built for community. Streaming for you.