Skip to content

Latest commit

 

History

History
91 lines (63 loc) · 2.22 KB

README.md

File metadata and controls

91 lines (63 loc) · 2.22 KB

🔥 Sam's Mini Firebase - Java In-Memory Document Database

📘 Project Overview

Sam's Mini Firebase is a lightweight, in-memory document database implementation in Java, inspired by Google Cloud Firestore. This project provides a simple, flexible, and interactive database system that mimics the core functionality of document-based NoSQL databases.

✨ Features

  • 📂 Create and manage document collections
  • 📝 Add, retrieve, update, and delete documents
  • 🔍 Search and filter documents
  • 💻 Interactive terminal-based interface
  • 🚀 Easy to use and extend

🛠 Tech Stack

  • Java 11+
  • Concurrent Collections for thread safety
  • Scanner for terminal interactions

🚀 Getting Started

Prerequisites

  • Java Development Kit (JDK) 11 or higher
  • Git

Installation

  1. Clone the repository:
git clone https://github.com/DroneCodes/sam_mini_firebase.git
cd sam-mini-firebase
  1. Compile the project:
javac *.java
  1. Run the application:
java Main

💡 Usage Example

When you run the application, you'll see an interactive menu:

--- Sam's Mini Firebase Terminal Interface ---
1. Add Document
2. Retrieve Document
3. List Documents in Collection
4. Delete Document
5. Find Documents
6. Update Document
0. Exit

Sample Workflow

  1. Add a document to the "users" collection
  2. Retrieve documents
  3. Update existing documents
  4. Delete documents
  5. Search documents by field conditions

🤝 Contributing

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

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

📜 License

Distributed under the MIT License. See LICENSE for more information.

📞 Contact

Your Name - [email protected]

Project Link: https://github.com/DroneCodes/sam_mini_firebase


Disclaimer: This is a learning project and not intended for production use. For serious database needs, use established solutions like Firebase, MongoDB, or other production-ready databases.