Skip to content

raymondoyondi/Grindly

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

149 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ—οΈ Grindly

Grindly is an end-to-end engineering ecosystem designed to bridge the gap between "writing code" and "architecting systems." Moving beyond simple syntax tutorials, Grindly immerses users in the full Software Development Lifecycle (SDLC) through an interactive environment.


πŸš€ Core Features

  • Interactive Multi-file IDE: A robust coding environment powered by the monaco-editor.
  • Architecture Canvas: A drag-and-drop interface for designing complex system architectures.
  • AI-Driven Architect Reviewer: Automated feedback to ensure code and designs align with industry best practices.
  • SDLC Immersion: Real-world workflow automation and lifecycle management.

πŸ› οΈ Tech Stack

Frontend

  • Framework: Next.js 16 (React 19)
  • Styling: Tailwind CSS 4
  • UI Components: shadcn/ui, Base UI
  • Editor: Monaco Editor
  • State: React hooks
  • Deployment: Docker, Vercel-ready

Backend

  • Runtime: Node.js
  • Language: TypeScript
  • Framework: NestJS + Fastify (2x faster routing)
  • Database: PostgreSQL
  • ORM: Prisma
  • Caching: Redis with decorator-based caching
  • Development: Hot reload with watch mode

Infrastructure

  • Containerization: Docker + Docker Compose
  • Services: PostgreSQL, Redis
  • Health Checks: Built-in service monitoring

Additional Services

  • AI Integration: Google GenAI
  • Authentication: Firebase
  • Notifications: Canvas Confetti
  • Design Tokens: Tailwind CSS variables

Key Concepts

Test-Driven Development (TDD), SOLID Principles, Scalable Architecture, System Design Patterns, and Clean Code Refactoring.

🏁 Getting Started

Prerequisites

  • Node.js 20+ (LTS recommended)
  • npm
  • Docker & Docker Compose (for full stack) or PostgreSQL + Redis

Quick Start with Docker (Recommended)

  1. Clone the repository

    git clone https://github.com/getgrindly/Grindly.git
    cd Grindly
  2. Set up environment

    cp .env.example .env
    cp .env.local.example .env.local
    # Update with your API keys
  3. Start all services

    docker-compose up --build

Services start automatically:

See DOCKER.md for detailed Docker guide.

Local Development (Without Docker)

Frontend Setup

  1. Install dependencies

    npm install
  2. Create environment file

    cp .env.local.example .env.local
    # Update with your API keys
  3. Start dev server

    npm run dev

    Frontend runs on http://localhost:3000

Backend Setup

  1. Install dependencies

    cd backend
    npm install
  2. Set up PostgreSQL & Redis

    # PostgreSQL
    brew install postgresql@16  # macOS
    # or use Docker: docker run -d -p 5432:5432 postgres:16-alpine
    
    # Redis
    brew install redis  # macOS
    # or use Docker: docker run -d -p 6379:6379 redis:7-alpine
  3. Configure environment

    cp .env.example .env
  4. Run database migrations

    npm run db:migrate
    npm run db:generate
  5. Start backend server

    npm run dev

    Backend runs on http://localhost:5000

Full Stack Development (Local)

Run both concurrently:

  • Terminal 1: npm run dev (frontend on port 3000)
  • Terminal 2: cd backend && npm run dev (backend on port 5000)

Database Management

  • View data: npm run db:studio (opens Prisma Studio)
  • Create migrations: npm run db:migrate (after schema changes)
  • Generate types: npm run db:generate

πŸ“ Project Structure

Grindly/
β”œβ”€β”€ src/                          # Frontend source
β”‚   β”œβ”€β”€ components/              # React components
β”‚   β”œβ”€β”€ services/                # Service integrations
β”‚   β”œβ”€β”€ lib/                     # Utilities
β”‚   └── main.tsx                # Entry point
β”œβ”€β”€ backend/                     # Backend source
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ index.ts            # Express app
β”‚   β”‚   β”œβ”€β”€ lib/                # Utilities (Prisma, etc.)
β”‚   β”‚   β”œβ”€β”€ types/              # TypeScript types
β”‚   β”‚   └── middleware/         # Express middleware
β”‚   β”œβ”€β”€ prisma/
β”‚   β”‚   └── schema.prisma       # Database schema
β”‚   β”œβ”€β”€ package.json
β”‚   └── tsconfig.json
β”œβ”€β”€ components/                  # UI components
β”œβ”€β”€ package.json                 # Frontend dependencies
└── README.md

🀝 Contributing

Contributions are welcome! Whether it's improving the AI reviewer or adding new canvas components:

  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.

About

Grindly is an end-to-end engineering ecosystem designed to bridge the gap between "writing code" and "architecting systems." Moving beyond simple syntax tutorials, Grindly immerses users in the full Software Development Lifecycle (SDLC) through an interactive, multi-file IDE, a drag-and-drop Architecture Canvas, and an AI-driven Architect Reviewer.

Resources

License

Code of conduct

Contributing

Stars

1 star

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages