The frontend for Poster is a modern, high-performance web application built with React and Vite. It leverages Tailwind CSS and Shadcn UI for a premium, responsive user experience.
- Core: React 18, Vite
- Styling: Tailwind CSS, Shadcn UI
- Icons: Lucide React, React Icons
- Authentication: Firebase Auth (Google Provider)
- Media: ImageKit React SDK
- Routing: React Router 7
- Notifications: Sonner
- Google Login/Signup: Integrated with Firebase for secure, one-click access.
- Protected Routes: Custom
PrivateRoutecomponent to secure sensitive pages (e.g., Create Post, Messages). - Redirection: Automatically saves the user's intended destination and redirects back after authentication.
- Creative Suite: Rich post creation with image support.
- Sharing: Integrated sharing logic for copying links and external platform sharing.
- Engagement: Interactive components for likes, comments, and views.
- ImageKit: High-performance image uploads and optimized delivery.
- Previews: Real-time image previews during post creation and profile updates.
npm installnpm run devnpm run buildRequired variables in .env:
VITE_apiKey: Firebase API KeyVITE_authDomain: Firebase Auth DomainVITE_projectId: Firebase Project IDVITE_storageBucket: Firebase Storage BucketVITE_messagingSenderId: Firebase Messaging Sender IDVITE_appId: Firebase App IDVITE_API_URL: Backend API URL (e.g., http://localhost:3000)VITE_IMAGEKIT_PUBLIC_KEY: ImageKit Public KeyVITE_IMAGEKIT_URL_ENDPOINT: ImageKit URL Endpoint
/src/components: Reusable UI components and feature-specific blocks./src/page: Main application views/pages./src/Provider: Context providers for global state (Auth)./src/Router: Routing configuration and protection logic./src/Firebase: Firebase initialization.
Part of the Poster ecosystem.