Skip to content

This is the CloudDB - Remote Database Monagement Application built using NextJS, MongoDB and Clerk Auth

License

Notifications You must be signed in to change notification settings

ShahjahanAli/clouddb.com

Repository files navigation

☁️ CloudDB

Modern Database Management Platform

Monitor, analyze, and manage all your databases from one unified platform with real-time insights and enterprise-grade security.

Next.js TypeScript License Build


πŸ“‹ Table of Contents


✨ Features

🎯 Core Features

  • Real-Time Health Monitoring - Track database performance, uptime, and resource utilization with live updates
  • Advanced Analytics Dashboard - Deep insights into query performance with interactive visualizations
  • Multi-Database Support - Works seamlessly with MongoDB, PostgreSQL, MySQL, Redis, and more
  • Table Explorer - Browse, query, and manage your data with an intuitive interface
  • Security Shield - Enterprise-grade security with encryption and access controls
  • Live Metrics - Real-time visualization of database metrics and performance

🏒 Enterprise Features

  • Team Management - Advanced role-based access control and permissions
  • API Access - Full programmatic control via REST API
  • SOC 2 Compliance - Enterprise security standards
  • Global Infrastructure - Deploy across 30+ regions worldwide
  • Custom SLA - Dedicated support and custom service level agreements
  • SSO Integration - Single sign-on with enterprise identity providers

πŸ’Ž Additional Features

  • Beautiful UI/UX - Modern, responsive design with glass-morphism effects
  • Dark Mode - Eye-friendly dark theme throughout the application
  • Responsive Design - Works perfectly on desktop, tablet, and mobile devices
  • Real-time Updates - Live data refresh without page reloads
  • Comprehensive Settings - Complete control over your account and databases
  • Audit Logs - Track all database operations and changes

πŸ›  Tech Stack

Frontend

Backend & Database

  • MongoDB - Primary database with Mongoose ODM
  • PostgreSQL - Relational database support (via pg)
  • MySQL - MySQL database support (via mysql2)
  • Redis - Caching and real-time features (via ioredis)

Authentication & Authorization

  • Clerk - Complete user authentication and management

UI Components


πŸ“Έ Screenshots

Note: Add your screenshots here after deployment

### Landing Page
![Landing Page](./screenshots/landing.png)

### Dashboard
![Dashboard](./screenshots/dashboard.png)

### Database Health Monitoring
![Health Monitoring](./screenshots/health.png)

### Analytics
![Analytics](./screenshots/analytics.png)

### Table Explorer
![Table Explorer](./screenshots/explorer.png)

### Settings
![Settings](./screenshots/settings.png)

πŸš€ Getting Started

Prerequisites

  • Node.js 18.x or higher
  • npm or yarn or pnpm
  • MongoDB instance (local or cloud)
  • Clerk account for authentication

Installation

  1. Clone the repository

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

    npm install
    # or
    yarn install
    # or
    pnpm install
  3. Set up environment variables

    Create a .env.local file in the root directory (see Environment Variables section)

  4. Run the development server

    npm run dev
    # or
    yarn dev
    # or
    pnpm dev
  5. Open your browser

    Navigate to http://localhost:3000

Build for Production

npm run build
npm run start

πŸ” Environment Variables

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

# Clerk Authentication
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=your_clerk_publishable_key
CLERK_SECRET_KEY=your_clerk_secret_key
NEXT_PUBLIC_CLERK_SIGN_IN_URL=/sign-in
NEXT_PUBLIC_CLERK_SIGN_UP_URL=/sign-up
NEXT_PUBLIC_CLERK_AFTER_SIGN_IN_URL=/dashboard
NEXT_PUBLIC_CLERK_AFTER_SIGN_UP_URL=/dashboard

# MongoDB (for storing application data)
MONGODB_URI=mongodb://localhost:27017/clouddb
# or for MongoDB Atlas:
# MONGODB_URI=mongodb+srv://username:password@cluster.mongodb.net/clouddb

# Optional: For production deployments
NODE_ENV=development

Getting Clerk Keys

  1. Sign up at Clerk.com
  2. Create a new application
  3. Copy the API keys from the dashboard
  4. Paste them into your .env.local file

MongoDB Setup

Local MongoDB:

# Install MongoDB locally
# macOS
brew tap mongodb/brew
brew install mongodb-community

# Start MongoDB
brew services start mongodb-community

MongoDB Atlas (Cloud):

  1. Sign up at MongoDB Atlas
  2. Create a free cluster
  3. Get your connection string
  4. Replace MONGODB_URI in .env.local

πŸ“ Project Structure

clouddb/
β”œβ”€β”€ app/
β”‚   β”œβ”€β”€ (auth)/                      # Authentication routes
β”‚   β”‚   β”œβ”€β”€ sign-in/
β”‚   β”‚   └── sign-up/
β”‚   β”œβ”€β”€ (dashboard)/                 # Protected dashboard routes
β”‚   β”‚   β”œβ”€β”€ dashboard/               # Main dashboard
β”‚   β”‚   β”œβ”€β”€ databases/               # Database management
β”‚   β”‚   β”‚   └── [databaseId]/        # Individual database view
β”‚   β”‚   β”œβ”€β”€ plans/                   # Pricing plans
β”‚   β”‚   β”œβ”€β”€ profile/                 # User profile
β”‚   β”‚   β”œβ”€β”€ settings/                # Settings page
β”‚   β”‚   └── statistics/              # Statistics overview
β”‚   β”œβ”€β”€ api/                         # API routes
β”‚   β”‚   └── databases/
β”‚   β”‚       β”œβ”€β”€ [dbId]/
β”‚   β”‚       β”‚   β”œβ”€β”€ analytics/       # Database analytics
β”‚   β”‚       β”‚   β”œβ”€β”€ explore/         # Database explorer
β”‚   β”‚       β”‚   β”œβ”€β”€ health/          # Health checks
β”‚   β”‚       β”‚   └── tables/          # Table operations
β”‚   β”‚       β”‚       └── [tableName]/
β”‚   β”‚       β”‚           β”œβ”€β”€ data/    # Table data
β”‚   β”‚       β”‚           β”œβ”€β”€ rows/    # Row operations
β”‚   β”‚       β”‚           └── schema/  # Schema information
β”‚   β”‚       └── route.ts             # Database CRUD
β”‚   β”œβ”€β”€ globals.css                  # Global styles
β”‚   β”œβ”€β”€ layout.tsx                   # Root layout
β”‚   └── page.tsx                     # Landing page
β”œβ”€β”€ components/
β”‚   β”œβ”€β”€ landing/                     # Landing page components
β”‚   β”‚   β”œβ”€β”€ LandingHeader.tsx
β”‚   β”‚   β”œβ”€β”€ HeroSection.tsx
β”‚   β”‚   β”œβ”€β”€ FeaturesSection.tsx
β”‚   β”‚   β”œβ”€β”€ PricingSection.tsx
β”‚   β”‚   └── ...
β”‚   β”œβ”€β”€ Sidebar.tsx                  # Dashboard sidebar
β”‚   └── UpgradeBanner.tsx            # Upgrade prompts
β”œβ”€β”€ lib/
β”‚   β”œβ”€β”€ db.ts                        # Database connection
β”‚   β”œβ”€β”€ plan-context.tsx             # Plan state management
β”‚   └── utils.ts                     # Utility functions
β”œβ”€β”€ models/
β”‚   └── Database.ts                  # Database model
β”œβ”€β”€ public/                          # Static assets
β”œβ”€β”€ .env.local                       # Environment variables (not in repo)
β”œβ”€β”€ next.config.ts                   # Next.js configuration
β”œβ”€β”€ package.json                     # Dependencies
β”œβ”€β”€ tailwind.config.ts               # Tailwind configuration
β”œβ”€β”€ tsconfig.json                    # TypeScript configuration
└── README.md                        # This file

πŸ—„οΈ Database Support

CloudDB supports multiple database types:

Database Status Features
MongoDB βœ… Full Support Health checks, analytics, table explorer, CRUD operations
PostgreSQL βœ… Full Support Health checks, analytics, table explorer, CRUD operations
MySQL βœ… Full Support Health checks, analytics, table explorer, CRUD operations
Redis 🚧 Partial Basic connection and key exploration
MariaDB πŸ“‹ Planned Coming soon
SQLite πŸ“‹ Planned Coming soon

Adding a Database

  1. Navigate to Dashboard β†’ Add Database
  2. Select your database type
  3. Enter connection details:
    • Connection String (recommended)
    • Or individual fields (host, port, username, password, database name)
  4. Test the connection
  5. Save and start monitoring!

πŸ’° Pricing Tiers

CloudDB offers flexible pricing tiers to suit different needs:

Feature Free Pro Advance Enterprise
Price $0/mo $29/mo $99/mo Custom
Databases 5 25 100 Unlimited
Storage 10GB 100GB 500GB Custom
Queries/month 100K 1M 10M Unlimited
Team Members 1 5 20 Unlimited
Analytics Basic Advanced Advanced Advanced
Support Community Email Priority Dedicated
Backups ❌ Daily Hourly Custom
API Access ❌ βœ… βœ… βœ…
SSO ❌ ❌ ❌ βœ…
Custom SLA ❌ ❌ ❌ βœ…

🀝 Contributing

We welcome contributions from the community! Here's how you can help:

Ways to Contribute

  1. Report Bugs - Open an issue with detailed information
  2. Suggest Features - Share your ideas for improvements
  3. Submit Pull Requests - Fix bugs or add new features
  4. Improve Documentation - Help make the docs better
  5. Share Feedback - Tell us what you think!

Development Workflow

  1. Fork the repository
  2. Create a feature branch
    git checkout -b feature/amazing-feature
  3. Make your changes
  4. Commit your changes
    git commit -m 'Add amazing feature'
  5. Push to your branch
    git push origin feature/amazing-feature
  6. Open a Pull Request

Code Style

  • Use TypeScript for type safety
  • Follow the existing code style
  • Write meaningful commit messages
  • Add comments for complex logic
  • Update documentation as needed

Running Tests

npm run lint

πŸ“„ License

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

MIT License

Copyright (c) 2026 CloudDB

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

πŸ†˜ Support

Documentation

  • Getting Started Guide - [Link to docs]
  • API Documentation - [Link to API docs]
  • Tutorials - [Link to tutorials]
  • FAQ - [Link to FAQ]

Community

Contact


πŸ™ Acknowledgments


πŸ—ΊοΈ Roadmap

  • Multi-database support (MongoDB, PostgreSQL, MySQL)
  • Real-time health monitoring
  • Advanced analytics dashboard
  • Table explorer and data management
  • SaaS pricing tiers
  • Advanced query builder
  • Automated backups
  • Alert notifications
  • CLI tool
  • Database migration tools
  • Performance optimization recommendations
  • Mobile app

Made with ❀️ by the CloudDB Team

⭐ Star us on GitHub β€’ πŸ› Report Bug β€’ ✨ Request Feature

About

This is the CloudDB - Remote Database Monagement Application built using NextJS, MongoDB and Clerk Auth

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages