Aura. is a real-time collaborative music jam session platform. It allows users to create rooms, invite friends, and listen to music together in perfect sync. Alongside synchronized YouTube playback, users can chat in real-time, sharing texts and GIFs.
- Real-time Synchronized Playback: Listen to music together in sync across all connected clients.
- Live Chat: Built-in chat functionality with Giphy support for exchanging messages during sessions.
- Room Management: Create custom jam sessions and share links to invite friends.
- Modern UI/UX: Premium, responsive, dark-themed design built with Tailwind CSS and Framer Motion for smooth animations.
- Authentication: User authentication system built with Passport, supporting Google OAuth.
- Framework: React 19 (via Vite)
- Styling: Tailwind CSS v4
- Animations: Framer Motion
- Real-time Engine: WebSockets (Socket.io)
- Media: React YouTube, YT Music API , Giphy React Components
- Server: Node.js, Express
- Real-time Engine: Socket.io with Redis Adapter for scalability
- Database: MongoDB (Mongoose) / PostgreSQL
- Authentication: Passport.js
- Other: YTMusic API integration
Follow these instructions to run the project locally.
- Node.js installed on your machine
- Redis server running locally or accessible remotely
- MongoDB / PostgreSQL instances (as required by the
.envconfiguration)
git clone <repository-url>
cd practiceNavigate into the server directory and install dependencies:
cd server
npm installCreate a .env file in the server directory and configure your environment variables (Database URIs, Redis URL, JWT Keys, Google OAuth variables, etc.).
Start the backend development server:
npm run startOpen a new terminal session, navigate into the frontend directory and install dependencies:
cd frontend
npm installCreate a .env file in the frontend directory for necessary frontend configurations if required.
Start the frontend development server:
npm run devNavigate to http://localhost:5173 in your browser to view the application.
MIT License