A React-based web application that provides personalized YouTube news content for authenticated users.
- User authentication with Supabase
- Personalized news feed
- Infinite scroll video grid
- Responsive design
- Node.js (v16 or higher)
- npm or yarn
- A Supabase account with configured authentication
- Clone the repository:
git clone <repository-url>
cd client-app
- Install dependencies:
npm install
- Create a
.env
file in the root directory with the following variables:
VITE_SUPABASE_URL=your_supabase_url
VITE_SUPABASE_KEY=your_supabase_anon_key
VITE_SITE_URL=http://localhost:5173
VITE_BACKEND_BASE_URL=http://localhost:3000
- Start the development server:
npm run dev
npm run dev
- Start development servernpm run build
- Build for productionnpm run preview
- Preview production buildnpm run lint
- Run ESLintnpm run lint:fix
- Fix ESLint issuesnpm run format
- Format code with Prettier
- React 19
- Vite
- React Router DOM
- Supabase Authentication
- Material-UI (MUI)
- TailwindCSS
- ESLint & Prettier
client-app/
├── src/
│ ├── components/ # Reusable components
│ ├── pages/ # Page components
│ ├── services/ # API services
│ ├── lib/ # Utility functions
│ ├── types/ # TypeScript types
│ ├── App.jsx # Main application component
│ └── main.jsx # Application entry point
├── public/ # Static assets
└── package.json # Project dependencies
- Create a feature branch
- Make your changes
- Submit a pull request
This project is private and confidential.