A modern full-stack application that combines a React frontend with an Express backend to create an interactive avatar streaming experience. This project was developed as part of a hackathon by Team "Bit by Bit".
Our team consists of talented developers working on different aspects of our hackathon project:
- Abarna Dutta (Team Leader) - Custom avatar generation and voice cloning
- Debraj Roy - Meeting automation and scheduling system
- Soham Pal - Custom avatar generation and voice cloning
- Surya Ghosh - Streaming Avatar (this project) - Full-stack development of the avatar streaming platform, including:
- Frontend development with React and TypeScript
- Backend API development with Express.js
- HeyGen integration for avatar streaming
- Gemini AI integration for chat functionality
- Persona management system
- Modern React frontend built with Vite
- Express.js backend server
- Real-time avatar streaming capabilities
- Responsive UI with Tailwind CSS
- TypeScript support for type safety
- Modern UI components with shadcn/ui
Before you begin, ensure you have the following installed:
- Node.js (v18 or higher)
- npm (v9 or higher)
- Git
- Clone the repository:
git clone <your-repo-url>
cd Streaming_Avatar_FullStack
- Install frontend dependencies:
cd react-avatar-app
npm install
- Install backend dependencies:
cd ../server
npm install
- Start the backend server:
cd server
npm run dev
- Start the frontend development server:
cd react-avatar-app
npm run dev
The application will be available at:
- Frontend: http://localhost:5173
- Backend: http://localhost:3000 (or your configured port)
- Build the frontend:
cd react-avatar-app
npm run build
- Start the production server:
cd server
npm start
Streaming_Avatar_FullStack/
βββ react-avatar-app/ # Frontend React application
β βββ src/ # Source files
β βββ public/ # Static assets
β βββ package.json # Frontend dependencies
βββ server/ # Backend Express server
βββ server.js # Main server file
βββ package.json # Backend dependencies
- React 19
- TypeScript
- Vite
- Tailwind CSS
- shadcn/ui
- ESLint & Prettier
- Express.js
- Node.js
- CORS
- dotenv
npm run dev
- Start development servernpm run build
- Build for productionnpm run lint
- Run ESLintnpm run preview
- Preview production build
npm run dev
- Start development server with nodemonnpm start
- Start production servernpm run lint
- Run ESLintnpm run format
- Format code with Prettier
Create a .env
file in the server directory with the following variables:
PORT=3000
# Add other environment variables as needed
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature
) - Commit your changes (
git commit -m 'Add some AmazingFeature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
This project is licensed under the ISC License.
- Surya Ghosh - Initial work
- Thanks to all contributors who have helped shape this project