Request for Discussion (RFD) Index System with Google Docs Integration
A centralized system for discovering, tracking, and managing Request for Discussion (RFD) documents stored in Google Docs, enabling teams to efficiently collaborate on technical decisions and proposals.
- 🔍 RFD Discovery & Indexing - Automatically scan and index RFD documents from Google Drive
- 📝 Template-Based Creation - Create new RFDs using predefined templates with smart placeholder replacement
- 🔄 Workflow Management - Track RFD lifecycle from Draft → Review → Decision → Archived
- 👥 Collaborative Reviews - Comment threads and endorsement voting system
- 🏷️ Smart Organization - Tag-based categorization and powerful search capabilities
- 🔐 Secure Access - Google OAuth integration with proper permission management
- 📊 Real-time Tracking - Status history and activity monitoring
- Frontend: SvelteKit 2.x + TypeScript + TailwindCSS 4.x
- Backend: SvelteKit API routes with Drizzle ORM
- Database: PostgreSQL with comprehensive RFD schema
- Authentication: Lucia Auth with Google OAuth
- External APIs: Google Drive API & Google Docs API
- Node.js 18+ and pnpm
- PostgreSQL database
- Google Cloud Platform project with Drive & Docs APIs enabled
# Clone the repository
git clone <repository-url>
cd ifg-rfd
# Install dependencies
pnpm install
# Start the database
pnpm run db:start
# Migrate database schema from migration file
pnpm run db:migrate
# Start development server
pnpm run devsrc/
├── routes/
│ ├── api/ # API endpoints
│ └── (app)/ # Application pages
├── lib/
│ ├── components/ # Svelte components
│ ├── server/ # Server-side utilities
│ └── types/ # TypeScript definitions
└── app.html # HTML template
pnpm run db:start # Start PostgreSQL via Docker
pnpm run db:push # Push schema changes
pnpm run db:migrate # Run migrations
pnpm run db:studio # Open Drizzle Studiopnpm run dev # Development server
pnpm run build # Production build
pnpm run preview # Preview build
pnpm run check # Type checkingpnpm run lint # ESLint + Prettier
pnpm run format # Format code- Dual Authentication: User OAuth tokens + Service account for centralized RFD storage
- Permission Management: Automatic document sharing with creators, team members, and domain access
- Secure Integration: Lucia Auth session management with Google OAuth
- Core Tables: Users, sessions, RFDs with Google Docs integration
- Workflow Tracking: Status history and lifecycle management
- Collaboration: Comment threads and endorsement voting
- Organization: Tag system for categorization
- Vertical Rhythm: Consistent baseline grid for typography and spacing
- Component Library: Reusable Svelte components following design guidelines
- Responsive Design: Mobile-first approach with TailwindCSS
We welcome contributions! Please see our contributing guidelines for details on how to:
- Report bugs and request features
- Submit pull requests
- Follow our coding standards
- Set up your development environment
This project is licensed under the MIT License - see the LICENSE file for details.
Built with ❤️ by the Onify Team