Skip to content

siddharthurankar/Lemon-App

Repository files navigation

LEMON Patterns - Requirements Pattern Catalog System

LEMON Patterns is a comprehensive platform for requirements engineers, business analysts, and software developers to discover, use, and contribute to a growing catalog of requirements patterns and templates.

Project Overview

This system provides a standardized approach to requirements engineering through reusable patterns and implementation templates. It bridges the gap between theoretical requirements patterns and their practical implementation in software projects.

Features

  • Pattern Catalog: Browse, search, and filter requirements patterns by domain, category, and more
  • Template Repository: Access implementation templates linked to specific patterns
  • User Dashboard: Save favorite patterns and templates, track usage, and manage personal content
  • Authentication: Secure user accounts with email and social authentication options
  • Responsive Design: Fully responsive interface that works on desktop and mobile devices
  • Real-time Updates: Template usage statistics and user interactions update in real-time
  • Interactive UI: Modern, user-friendly interface with intuitive navigation

Technology Stack

Frontend

  • React with TypeScript
  • TailwindCSS for styling
  • Shadcn UI component library
  • React Router for navigation
  • React Query for server state management
  • Lucide React for iconography

Backend

  • Supabase for authentication, database, and storage
  • PostgreSQL database
  • Supabase Edge Functions for serverless functionality
  • Row Level Security (RLS) for data protection

Project Structure

├── public/               # Static assets
├── src/
│   ├── components/       # React components
│   │   ├── auth/         # Authentication components
│   │   ├── catalog/      # Catalog browsing components
│   │   ├── dashboard/    # User dashboard components
│   │   ├── layout/       # Layout components (navbar, footer)
│   │   ├── pattern/      # Pattern-related components
│   │   ├── template/     # Template-related components
│   │   └── ui/           # Reusable UI components
│   ├── contexts/         # React context providers
│   ├── hooks/            # Custom React hooks
│   ├── integrations/     # Integration with external services
│   │   └── supabase/     # Supabase client and types
│   ├── lib/              # Utility functions and API helpers
│   ├── pages/            # Page components
│   └── types/            # TypeScript type definitions
├── supabase/
│   ├── functions/        # Supabase Edge Functions
│   └── migrations/       # Database migrations
└── ...

Getting Started

Prerequisites

  • Node.js 16+ and npm
  • Supabase account

Installation

  1. Clone the repository
git clone https://github.com/yourusername/lemon-patterns.git
cd lemon-patterns
  1. Install dependencies
npm install
  1. Set up environment variables
SUPABASE_URL=your-supabase-url
SUPABASE_ANON_KEY=your-supabase-anon-key
  1. Start the development server
npm run dev

Development

Database Schema

The application uses the following main database tables:

  • profiles - User profile information
  • patterns - Requirements patterns
  • templates - Implementation templates
  • categories - Pattern and template categories
  • domains - Application domains
  • reviews - User reviews for patterns and templates
  • user_saved_items - User bookmarks for patterns and templates

Authentication

The application uses Supabase Authentication with:

  • Email/password authentication
  • Social login providers (Google, GitHub)
  • Session management

Edge Functions

  • increment-template-usage - Tracks template usage counts

Deployment

The application can be deployed:

  1. Via Supabase hosting
  2. To Vercel or Netlify with environment variables configured for Supabase

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgments

  • Inspired by research in patterns-based requirements engineering
  • Built using shadcn/ui components
  • Special thanks to contributors and testers

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors