Skip to content

hamzakargin/bramble

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

43 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🫐 Bramble

Bramble Chat App

Production-grade, full-stack real-time messaging platform with native mobile apps and web client. Built on a custom WebSocket infrastructure without third-party real-time services.

✨ Features

  • πŸ“± Cross-Platform Support β€” Unified experience across iOS, Android, and Web
  • πŸ’¬ Real-Time Messaging β€” Instant message delivery with custom WebSocket implementation
  • ⌨️ Typing Indicators β€” Live feedback when users are composing messages
  • 🟒 Presence System β€” Real-time online/offline user status tracking
  • πŸ” Secure Authentication β€” Multi-platform auth with Clerk integration
  • 🧠 Custom Socket Server β€” Built from scratch, no Firebase/Pusher dependencies
  • πŸ› οΈ RESTful API β€” Clean, documented endpoints for all operations
  • πŸ”’ Enterprise Security β€” Token-based authentication, encrypted connections

πŸ“ Project Structure

bramble/
β”‚
β”œβ”€β”€ πŸ“± mobile/                    # React Native Mobile App
β”‚   β”œβ”€β”€ app/
β”‚   β”‚   β”œβ”€β”€ (auth)/              # Authentication screens
β”‚   β”‚   β”œβ”€β”€ (tabs)/              # Tab navigation
β”‚   β”‚   β”‚   β”œβ”€β”€ _layout.tsx
β”‚   β”‚   β”‚   β”œβ”€β”€ index.tsx
β”‚   β”‚   β”‚   └── profile.tsx
β”‚   β”‚   β”œβ”€β”€ chat/                # Chat screens
β”‚   β”‚   β”œβ”€β”€ new-chat/            # New chat creation
β”‚   β”‚   └── _layout.tsx
β”‚   β”œβ”€β”€ assets/images/           # Image assets
β”‚   β”œβ”€β”€ components/              # Reusable UI components
β”‚   β”œβ”€β”€ hooks/                   # Custom React hooks
β”‚   β”œβ”€β”€ lib/                     # Utility libraries
β”‚   β”œβ”€β”€ types/                   # TypeScript type definitions
β”‚   └── .vscode/                 # VSCode configuration
β”‚
β”œβ”€β”€ πŸ’» web/                       # React Web Application
β”‚   β”œβ”€β”€ public/                  # Static assets
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ components/          # Shared UI components
β”‚   β”‚   β”œβ”€β”€ pages/               # Application pages
β”‚   β”‚   β”œβ”€β”€ hooks/               # Custom React hooks
β”‚   β”‚   β”œβ”€β”€ lib/                 # Utility libraries
β”‚   β”‚   β”œβ”€β”€ App.jsx              # Main app component
β”‚   β”‚   β”œβ”€β”€ main.jsx             # Entry point
β”‚   β”‚   └── index.css            # Global styles
β”‚   └── index.html               # HTML template
β”‚
β”œβ”€β”€ πŸ”§ server/                    # Backend Server
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ config/              # Configuration files
β”‚   β”‚   β”œβ”€β”€ controllers/         # Request handlers
β”‚   β”‚   β”œβ”€β”€ middleware/          # Auth & validation middleware
β”‚   β”‚   β”œβ”€β”€ models/              # MongoDB schemas
β”‚   β”‚   β”œβ”€β”€ routes/              # API endpoints
β”‚   β”‚   β”œβ”€β”€ scripts/             # Utility scripts
β”‚   β”‚   β”œβ”€β”€ utils/               # Helper functions
β”‚   β”‚   └── app.ts               # Express app setup
β”‚   β”œβ”€β”€ types/                   # TypeScript definitions
β”‚   └── index.ts                 # Server entry point
β”‚
β”œβ”€β”€ 🐳 Dockerfile                 # Container configuration
└── πŸ“‹ .dockerignore              # Docker ignore rules

Made with 🫐

About

🫐 Full-stack real-time messaging

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published