ForgeSpace is a comprehensive AI-powered platform designed to help teams and individuals develop ideas from concept to implementation. Built with modern web technologies, it provides collaborative workspaces, AI-driven analysis, visual whiteboarding, and structured development phases.
- π€ AI-Powered Analysis - Get instant insights into your ideas' potential with advanced AI analysis
- π₯ Collaborative Workspaces - Build and refine ideas together with your team in dedicated workspaces
- π¨ Visual Whiteboarding - Create mindmaps, flowcharts, and timelines with our integrated whiteboard
- π Progress Tracking - Track ideas through different phases from inception to execution
- π§ Development Tools - Access essential tools for idea development and project management
- π§ Real-time Notifications - Stay updated with email notifications and real-time collaboration
- π― Phase Management - Structured approach with inception, refinement, planning, and execution phases
- Frontend: Next.js 15 with React 19, TypeScript, and Tailwind CSS
- Backend: Next.js API routes with Supabase for database and real-time features
- Authentication: Clerk for secure user management
- AI Integration: OpenAI GPT-3.5 Turbo for idea analysis
- Email: Resend for transactional emails
- Real-time: Supabase real-time subscriptions
- UI Components: Radix UI with custom shadcn/ui components
- Node.js 18+
- npm 9+ or pnpm
- Supabase account
- Clerk account
- OpenAI API key (optional, for AI features)
- Resend account (optional, for email notifications)
-
Clone the repository
git clone https://github.com/kecheste/ForgeSpace.git cd forgespace -
Install dependencies
npm install # or pnpm install -
Set up environment variables
cp .env.example .env.local
-
Configure your environment variables (see Environment Variables section)
-
Set up the database
# Run the SQL scripts in the scripts/ folder in your Supabase dashboard # or use the Supabase CLI
-
Start the development server
npm run dev # or pnpm dev -
Open your browser Navigate to http://localhost:3000
Create a .env.local file in the root directory with the following variables:
# Supabase Configuration
NEXT_PUBLIC_SUPABASE_URL=your_supabase_project_url
NEXT_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_key
# Clerk Authentication
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=your_clerk_publishable_key
CLERK_SECRET_KEY=your_clerk_secret_key
# Application URL
NEXT_PUBLIC_APP_URL=http://localhost:3000# OpenAI API (for AI analysis features)
OPENAI_API_KEY=your_openai_api_key
# Resend (for email notifications)
RESEND_API_KEY=your_resend_api_key
# Environment
NODE_ENV=development- Create a new project at supabase.com
- Go to Settings > API to get your URL and anon key
- Run the SQL scripts from the
scripts/folder in your Supabase SQL editor
- Create a new application at clerk.com
- Configure your authentication settings
- Add your domain to the allowed origins
- Get an API key from platform.openai.com
- Add it to your environment variables for AI analysis features
- Create an account at resend.com
- Get your API key for email notifications
ForgeSpace includes comprehensive testing with Vitest and Testing Library.
# Run all tests
npm test
# Run tests in watch mode
npm run test:watch
# Run tests with UI
npm run test:ui
# Run tests with coverage
npm run test:coverage
# Run specific test suites
npm run test:unit # Unit tests only
npm run test:integration # Integration tests onlytests/
βββ unit/ # Unit tests for components and utilities
βββ integration/ # Integration tests for API endpoints
βββ mocks/ # Test mocks and handlers
βββ utils/ # Test utilities and helpers
// Example test for a component
import { render, screen } from '@testing-library/react';
import { describe, it, expect } from 'vitest';
import { IdeaCard } from '@/components/idea-card';
describe('IdeaCard', () => {
it('renders idea title and description', () => {
const idea = {
id: '1',
title: 'Test Idea',
description: 'Test Description',
phase: 'inception' as const,
tags: ['test'],
created_at: '2024-01-01',
updated_at: '2024-01-01',
created_by: 'user1',
workspace_id: 'workspace1'
};
render(<IdeaCard idea={idea} />);
expect(screen.getByText('Test Idea')).toBeInTheDocument();
expect(screen.getByText('Test Description')).toBeInTheDocument();
});
});-
Create Your First Idea
- Navigate to
/dashboard/ideas/new - Fill in the idea title and description
- Add relevant tags
- Select the initial phase (Inception)
- Click "Create Idea"
- Navigate to
-
Analyze Your Idea
- Go to
/dashboard/analyzer - Enter your idea details
- Get AI-powered insights on viability, feasibility, and recommendations
- Review similar concepts and improvement suggestions
- Go to
-
Track Progress
- Move your idea through phases: Inception β Refinement β Planning β Execution
- Add comments and updates at each phase
- Monitor development metrics
-
Create a Workspace
- Go to
/dashboard/workspaces/new - Choose between Personal or Team workspace
- Add workspace description
- Invite team members (for team workspaces)
- Go to
-
Collaborate
- Invite team members via email
- Assign roles (Owner, Admin, Member, Viewer)
- Share ideas and whiteboards within the workspace
-
Manage Permissions
- Control access levels for different team members
- Set workspace visibility and sharing settings
-
Create a Whiteboard
- Navigate to
/dashboard/whiteboard - Choose canvas type: Mindmap, Flowchart, Timeline, or Freeform
- Name your canvas and add description
- Navigate to
-
Collaborate in Real-time
- Invite collaborators to your whiteboard
- Work together in real-time
- Save versions and track changes
-
Export and Share
- Export your whiteboard as images
- Share with team members
- Link to related ideas
-
Idea Viability Analysis
- Get comprehensive scoring on multiple dimensions
- Review technical feasibility and innovation level
- Assess development time and resource requirements
-
Phase Suggestions
- Receive AI-generated suggestions for each development phase
- Get improvement recommendations
- Identify potential challenges and solutions
-
Similar Concepts
- Discover related ideas and concepts
- Learn from existing implementations
- Identify market opportunities
ForgeSpace/
βββ app/ # Next.js app directory
β βββ api/ # API routes
β βββ dashboard/ # Dashboard pages
β βββ layout.tsx # Root layout
βββ components/ # React components
β βββ ui/ # UI components (shadcn/ui)
β βββ providers/ # Context providers
βββ lib/ # Utility libraries
β βββ api/ # API client functions
β βββ services/ # Business logic services
β βββ supabase/ # Supabase configuration
βββ scripts/ # Database migration scripts
βββ tests/ # Test files
βββ emails/ # Email templates
βββ public/ # Static assets
app/: Next.js 13+ app router pages and API routescomponents/: Reusable React componentslib/: Utility functions, API clients, and servicesscripts/: Database migration and setup scriptstests/: Comprehensive test suiteemails/: Email templates for notifications
# Type checking
npm run check-types
# Linting
npm run check-lint
# Formatting
npm run format
# All checks
npm run check-format && npm run check-lint && npm run check-typesThe project uses Husky for pre-commit hooks:
# Install git hooks
npm run prepareWhen making database changes:
- Create a new SQL script in
scripts/ - Update the database types in
lib/supabase/types.ts - Test the migration locally
- Deploy to production
- Connect your GitHub repository to Vercel
- Configure environment variables in Vercel dashboard
- Deploy automatically on push to main branch
The app can be deployed to any platform that supports Next.js:
- Netlify: Configure build settings for Next.js
- Railway: Deploy with automatic environment variable management
- Self-hosted: Use Docker or direct deployment
- Set all required environment variables
- Configure custom domains in Clerk and Supabase
- Set up email domain verification in Resend
- Configure CORS settings in Supabase
We welcome contributions! Please see our Contributing Guide for details.
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests for new features
- Submit a pull request
- Use TypeScript for all new code
- Follow the existing code style
- Add JSDoc comments for complex functions
- Write tests for new features
This project is licensed under the MIT License - see the LICENSE file for details.
- Documentation: Check the
/dashboard/helppage in the app - Issues: Report bugs and feature requests on GitHub
- Discussions: Join our community discussions
- Email: Contact me at abenidevworking@gmail.com
- Next.js for the amazing React framework
- Supabase for the backend infrastructure
- Clerk for authentication
- OpenAI for AI capabilities
- shadcn/ui for the beautiful UI components
- Tldraw for the whiteboard functionality