A modern, collaborative online markdown documentation platform for teams and individuals.
ProDocify is an all-in-one markdown documentation platform designed for:
- Teams - Collaborate on technical documentation in real-time
- Developers - Maintain project wikis, API docs, and knowledge bases
- Organizations - Share best practices and institutional knowledge
- Individuals - Take notes and organize personal documentation
β
Create & Edit - Rich markdown editor with live preview
β
Organize - Hierarchical folder structure
β
Collaborate - Real-time editing with multiple users
β
Share - Granular permissions and share links
β
Version Control - Full history tracking and restore capability
β
Activity Log - Audit trail for all changes
β
Teams - Workspace management and team collaboration
β
Integrations - Sync with Google Drive, Dropbox (planned)
| Phase | Status | Details |
|---|---|---|
| Planning | β Complete | Architecture, tech stack, roadmap finalized |
| Backend Scaffold | β Complete | NestJS project, Prisma ORM, initial modules |
| Database Schema | β Complete | User, Document, Folder models designed |
| API Endpoints | β Complete | Document & Folder CRUD endpoints ready |
| Authentication | π In Progress | JWT scaffolding complete, implementation pending |
| Frontend Scaffold | β³ Planned | Next.js project setup |
| Frontend UI | β³ Planned | Pages and components |
| Real-time Sync | β³ Planned | WebSocket/Socket.IO integration |
- Framework: Next.js 14
- UI Library: React 19
- Styling: Tailwind CSS
- State Management: React Query + Zustand
- Editor: TipTap (Monaco Editor alternative)
- Build Tool: Vite (if SPA) / Next.js built-in (SSR)
- Runtime: Node.js 18+
- Framework: NestJS 10
- Language: TypeScript 5.6+
- Authentication: JWT + Passport
- Validation: class-validator
- Primary: PostgreSQL 13+
- ORM: Prisma 5
- Cache: Redis (future)
- Search: Elasticsearch (future)
- Containerization: Docker
- Cloud Hosting: AWS / Azure / GCP
- CI/CD: GitHub Actions
- Version Control: Git
ProDocify/
βββ .github/
β βββ instructions/ # Development guidelines
β βββ prompts/ # AI-assisted workflow prompts
β βββ history/ # Session progress tracking
βββ backend/ # NestJS API server
β βββ prisma/ # Database schema & migrations
β βββ src/
β β βββ auth/ # Authentication module
β β βββ documents/ # Document CRUD operations
β β βββ folders/ # Folder management
β β βββ prisma/ # Database service
β β βββ common/ # Shared utilities
β βββ package.json
β βββ tsconfig.json
β βββ .env.example
β βββ README.md # Backend documentation
βββ frontend/ # Next.js web application (pending)
β βββ src/
β β βββ components/ # React components
β β βββ pages/ # Next.js pages
β β βββ hooks/ # Custom React hooks
β β βββ styles/ # Global styles
β βββ package.json
βββ infra/ # Infrastructure as Code (pending)
β βββ docker-compose.yml
β βββ terraform/
βββ docs/ # Documentation
β βββ API.md # API reference
βββ project-planning.md # Comprehensive planning document
βββ README.md # This file
# 1. Navigate to backend directory
cd backend
# 2. Install dependencies
npm install
# 3. Create environment file
cp .env.example .env
# 4. Configure DATABASE_URL in .env
# Edit .env and set your PostgreSQL connection string
# 5. Generate Prisma Client
npm run prisma:generate
# 6. Run database migrations
npm run prisma:migrate:dev --name init
# 7. Start development server
npm run devBackend will be available at: http://localhost:4000/api
# 1. Navigate to frontend directory
cd frontend
# 2. Install dependencies
npm install
# 3. Start development server
npm run devFrontend will be available at: http://localhost:3000
GET /apiGET /api/documents # List all documents
GET /api/documents/:id # Get single document
POST /api/documents # Create document
PATCH /api/documents/:id # Update document
DELETE /api/documents/:id # Delete documentGET /api/folders # List all folders
GET /api/folders/:id # Get single folder
POST /api/folders # Create folder
PATCH /api/folders/:id # Update folder
DELETE /api/folders/:id # Delete folderPOST /api/auth/register # User registration
POST /api/auth/login # User login
POST /api/auth/refresh # Refresh token
POST /api/auth/logout # User logoutFull API documentation: Backend README
User
- Unique user accounts with authentication
- Profile information (email, metadata)
- Owns documents and folders
Folder
- Hierarchical organization of documents
- Belongs to a user (owner)
- Can contain multiple documents
Document
- Markdown content files
- Belongs to a user (owner) and optionally a folder
- Timestamps for creation and updates
- Future: versioning, sharing, permissions
-
Update Prisma Schema (if adding/modifying models)
# Edit: backend/prisma/schema.prisma -
Create Migration
npm run prisma:migrate:dev --name <migration-name>
-
Implement Feature
- Create service in
src/feature/feature.service.ts - Create controller in
src/feature/feature.controller.ts - Create module in
src/feature/feature.module.ts
- Create service in
-
Test Endpoints
- Use Postman, curl, or REST Client extension
-
Commit & Push
git add . git commit -m "feat: add feature description" git push
Development (.env)
PORT=4000
JWT_SECRET=dev-secret-key
JWT_EXPIRES_IN=3600s
DATABASE_URL=postgresql://user:password@localhost:5432/prodocifyProduction (.env.production)
- Use strong secrets (min 32 characters)
- Use managed database (AWS RDS, Azure Database, etc.)
- Enable HTTPS/TLS
- Configure CORS for frontend domain
- JWT token-based authentication
- Passport.js integration
- Input validation with class-validator
- CORS protection
- Multi-factor authentication (MFA)
- OAuth2 social login (Google, GitHub)
- SSO support for enterprises
- API key authentication
- Rate limiting and DDoS protection
- β Backend API scaffold
- β Database schema
- β³ User authentication
- β³ Frontend dashboard
- β³ Document editor
- Real-time collaboration (WebSocket)
- Document versioning
- Sharing and permissions
- Activity audit log
- Advanced search
- Document templates
- Rich media embedding
- Export to PDF/HTML
- Team management
- Enterprise SSO
- Third-party integrations
- Mobile app or PWA
# Unit tests
npm run test
# Integration tests
npm run test:integration
# E2E tests
npm run test:e2e
# Coverage report
npm run test:cov# Component tests
npm run test
# E2E tests
npm run test:e2enpm run dev # Start dev server with hot reload
npm run build # Compile TypeScript
npm start # Run compiled application
npm run lint # Run ESLint
npm run prisma:generate # Generate Prisma Client
npm run prisma:migrate:dev # Create and apply migration
npx prisma studio # Open database browsergit clone <repo-url> # Clone repository
git checkout -b feature/name # Create feature branch
git commit -m "message" # Commit changes
git push origin feature/name # Push to remote1. Check Node.js version: node --version (should be 18+)
2. Check dependencies: npm install
3. Check .env file exists with DATABASE_URL
4. Check PostgreSQL is running
1. Verify PostgreSQL is running: pg_isready -h localhost
2. Check DATABASE_URL in .env is correct
3. Verify database exists: psql -l
4. Run migrations: npm run prisma:migrate:dev
# Change port in .env or kill process on port 4000:
lsof -ti:4000 | xargs kill -9 # macOS/Linux
netstat -ano | findstr :4000 # Windows
For more help, see: Backend README | Project Planning
| Document | Purpose |
|---|---|
| project-planning.md | Architecture, design patterns, security, roadmap |
| backend/README.md | Backend setup, API endpoints, database schema |
| .github/history/ | Session progress and achievements |
- Fork the repository
- Create a feature branch:
git checkout -b feature/my-feature - Commit changes:
git commit -am 'Add new feature' - Push to branch:
git push origin feature/my-feature - Submit a pull request
- Use TypeScript for all code
- Follow ESLint rules (run
npm run lint) - Write self-documenting code with comments
- Commit messages in Conventional Commits format
- Test code before pushing
This project is licensed under the MIT License - see LICENSE file for details.
- Check Troubleshooting section
- Review project-planning.md
- Check Backend README
- Create an Issue
- Project Lead: @you
- Email: your-email@example.com
Built with:
- NestJS - Backend framework
- Next.js - Frontend framework
- Prisma - ORM
- PostgreSQL - Database
- TypeScript - Type safety
| Metric | Value |
|---|---|
| Backend Status | π’ Scaffolded |
| Frontend Status | π‘ Planned |
| Database Models | 3 (User, Folder, Document) |
| API Endpoints | 11 (ready) |
| Documentation | π Comprehensive |
| Last Updated | May 13, 2026 |
ProDocify - Making documentation collaborative, accessible, and beautiful π