A modern real-time chat platform built with SvelteKit. Connect instantly with strangers through text and video chat.
- 🔄 Real-time communication
- 🎥 Video chat support (Coming soon)
- 🔒 Secure authentication
- 📱 Responsive design
- 🌐 Global matchmaking
- Frontend: SvelteKit, TailwindCSS
- Backend: Node.js, PostgreSQL
- ORM: Drizzle
- Real-time: Ably
- Auth: Lucia
- Node.js (v18+)
- PostgreSQL
- npm/pnpm
-
Clone the repository:
git clone https://github.com/yourusername/connect.git cd connect -
Install dependencies:
npm install
-
Configure environment variables:
Create a
.envfile in the root directory with the following:DATABASE_URL=postgres://user:password@localhost:5432/database ABLY_API_KEY=your-ably-api-key
-
Run database migrations:
npm run drizzle:migrate
-
Start the development server:
npm run dev
-
Access the application at
http://localhost:5173.
npm run dev: Starts the development server.
npm run build: Builds the application for production.npm run preview: Previews the production build.
npm run lint: Lints the code using ESLint and Prettier.npm run format: Formats code using Prettier.
npm run drizzle:generate: Generates types for Drizzle ORM.npm run drizzle:migrate: Runs database migrations.npm run drizzle:studio: Opens Drizzle Studio for database inspection.
connect/
├── src/
│ ├── lib/ # Reusable utilities and components
│ ├── routes/ # Application routes
│ ├── styles/ # TailwindCSS styles
│ ├── db/ # Database models and migrations
│ ├── hooks/ # SvelteKit hooks
├── tests/ # Unit and integration tests
├── public/ # Static assets
├── .env # Environment variables
├── package.json # Project configuration
Contributions are welcome! Please follow these steps:
-
Fork the repository.
-
Create a new branch:
git checkout -b feature/your-feature-name
-
Make your changes and test thoroughly.
-
Commit your changes:
git commit -m "Add your message here" -
Push your branch:
git push origin feature/your-feature-name
-
Create a pull request.
This project is licensed under the MIT License. See the LICENSE file for details.
- Inspired by Omegle.
- Built with ❤️ using SvelteKit and modern web technologies.
