Skip to content

himanshubhardwaz/connect

Repository files navigation

Connect 🎯

License: MIT TypeScript SvelteKit Tailwind CSS

A modern real-time chat platform built with SvelteKit. Connect instantly with strangers through text and video chat.

connect_gif


✨ Key Features

  • 🔄 Real-time communication
  • 🎥 Video chat support (Coming soon)
  • 🔒 Secure authentication
  • 📱 Responsive design
  • 🌐 Global matchmaking

🛠️ Tech Stack

  • Frontend: SvelteKit, TailwindCSS
  • Backend: Node.js, PostgreSQL
  • ORM: Drizzle
  • Real-time: Ably
  • Auth: Lucia

🚀 Getting Started

Prerequisites

  • Node.js (v18+)
  • PostgreSQL
  • npm/pnpm

Installation

  1. Clone the repository:

    git clone https://github.com/yourusername/connect.git
    cd connect
  2. Install dependencies:

    npm install
  3. Configure environment variables:

    Create a .env file in the root directory with the following:

    DATABASE_URL=postgres://user:password@localhost:5432/database
    ABLY_API_KEY=your-ably-api-key
  4. Run database migrations:

    npm run drizzle:migrate
  5. Start the development server:

    npm run dev
  6. Access the application at http://localhost:5173.


Scripts

Development

  • npm run dev: Starts the development server.

Build

  • npm run build: Builds the application for production.
  • npm run preview: Previews the production build.

Code Quality

  • npm run lint: Lints the code using ESLint and Prettier.
  • npm run format: Formats code using Prettier.

Database Management

  • 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.

Folder Structure

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

Contributing

Contributions are welcome! Please follow these steps:

  1. Fork the repository.

  2. Create a new branch:

    git checkout -b feature/your-feature-name
  3. Make your changes and test thoroughly.

  4. Commit your changes:

    git commit -m "Add your message here"
  5. Push your branch:

    git push origin feature/your-feature-name
  6. Create a pull request.


License

This project is licensed under the MIT License. See the LICENSE file for details.


Acknowledgments

  • Inspired by Omegle.
  • Built with ❤️ using SvelteKit and modern web technologies.

About

Connect app - Inpired by Omegle

Resources

Stars

Watchers

Forks

Contributors 2

  •  
  •