Skip to content

Latest commit

 

History

History
92 lines (73 loc) · 3.19 KB

README.md

File metadata and controls

92 lines (73 loc) · 3.19 KB

CloudSeeder

CloudSeeder is a modular platform designed to enable seamless application development and deployment across local, containerized, and cloud environments. It provides libraries and a seed application to help you build complex systems from a simple, extensible starting point.

Key Features

  • Local-First Development: Develop entirely on local resources using bare-metal implementations, ensuring quick and efficient development cycles.
  • Containerized Transition: Once the local system is ready, easily transition to containerized builds for testing and production deployment.
  • Cloud-Ready: Deploy with minimal configuration changes to cloud platforms like AWS, Azure, or GCP.
  • Monorepo Structure: Organized as a monorepo for easy collaboration and management of core libraries and applications.
  • Abstracted Messaging and File Access: Use local or cloud-based messaging systems and file storage with consistent APIs.
  • Authentication Support: Built-in authentication mechanisms for secure operations, including JWT and OAuth2.

Monorepo Structure

The CloudSeeder repository is structured as follows:

cloudseeder/
├── apps/                  # Applications including the seed app and examples
│   ├── seed-app/          # Starting application with FastAPI backend and Next.js frontend
│   └── examples/          # Example applications for various use cases
├── libs/                  # Core libraries for messaging, file access, and authentication
│   ├── abstract-file-access/
│   ├── messaging/
│   ├── authentication/
│   └── common/
├── tools/                 # Development and deployment tools
│   ├── ci-cd/             # CI/CD configurations and scripts
│   ├── container/         # Container build scripts
│   ├── dev-setup/         # Scripts for local development setup
│   └── scripts/           # Helper scripts
├── docs/                  # Documentation for the project
│   ├── setup-guide.md     # Setup and installation guide
│   ├── api-reference.md   # API documentation
│   └── CONTRIBUTING.md    # Contribution guidelines
└── README.md              # Main README for the CloudSeeder monorepo

Getting Started

Prerequisites

  • Python 3.10+
  • Node.js 16+ and Yarn
  • Docker (optional, for containerization)
  • Git

Installation

Clone the repository:

git clone https://github.com/your-repo/cloudseeder.git
cd cloudseeder

Install dependencies for the seed app:

Backend:

cd apps/seed-app/backend
python -m venv venv
source venv/bin/activate  # On Windows, use `venv\\Scripts\\activate`
pip install -r requirements.txt

Frontend:

cd ../frontend
yarn install
Running the Seed Application

Start the Backend:

cd apps/seed-app/backend
uvicorn src.main:app --reload

Start the Frontend:

cd apps/seed-app/frontend
yarn dev

Access the application in your browser at http://localhost:3000.

Contributing

Contributions are welcome! See the CONTRIBUTING.md file for guidelines.

License

CloudSeeder is licensed under the MIT License. See the LICENSE file for more details.