Skip to content

akbar-mirza/MongoStuff

Repository files navigation

MongoStuff

MongoStuff is a modern, full-stack MongoDB management and backup solution built with Go and React. It provides a user-friendly web interface for managing MongoDB connections, creating database snapshots, and performing restore operations.

Disclaimer: MongoStuff is an independent project and is not affiliated with, endorsed by, or in any way officially connected to MongoDB, Inc. or its subsidiaries. MongoDB® is a registered trademark of MongoDB, Inc.

image

Features

  • 🔐 Secure user authentication system
  • 🔄 MongoDB cluster connection management
  • 📸 Database snapshot creation and management
  • ⚡ Fast database restore capabilities
  • 🏷️ Snapshot tagging system
  • 🖥️ Modern React+TypeScript frontend
  • 🚀 High-performance Go backend using Fiber framework

Prerequisites

  • Go 1.21 or higher
  • Node.js 18+ and pnpm
  • MongoDB 6.0+
  • Docker (optional, for containerized deployment)

Installation

Local Development Setup

  1. Clone the repository:
git clone https://github.com/akbar-mirza/mongostuff.git
cd mongostuff
  1. Install backend dependencies:
go mod download
  1. Install frontend dependencies:
cd web
pnpm install
cd ..
  1. Create a .env file in the root directory:
PORT=3000
MONGO_URI=mongodb://localhost:27017
MONGO_DATABASE=mongostuff
JWT_SECRET=your_jwt_secret
IS_DOCKER=false
  1. Build the frontend:
cd web
pnpm build
cd ..
  1. Run the application:
go run main.go

The application will be available at http://localhost:3000

Docker Deployment

  1. Build the Docker image:
docker build -t mongostuff .
  1. Run the container:
docker run -d \
  -p 3000:3000 \
  -e MONGO_URI=mongodb://your-mongodb-uri \
  -e MONGO_DATABASE=mongostuff \
  -e JWT_SECRET=your_jwt_secret \
  -e IS_DOCKER=true \
  -v mongostuff_data:/_stuffs \
  --name mongostuff \
  mongostuff

Environment Variables

  • PORT: Server port (default: 3000)
  • MONGO_URI: MongoDB connection string
  • MONGO_DATABASE: MongoDB database name
  • JWT_SECRET: Secret key for JWT token generation
  • IS_DOCKER: Set to "true" when running in Docker

Development

Running in Development Mode

  1. Start the backend:
go run main.go
  1. Start the frontend development server:
cd web
pnpm dev

The frontend will be available at http://localhost:27019 with hot reload enabled.

License

MIT License

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

About

MongoStuff is a fast, reliable web UI for managing MongoDB connections, snapshots, and restores. Built with Go and React, it leverages official MongoDB Tools to provide a simple, streamlined experience.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors