TNZoho - Open Source Zoho Alternative
A modern, open-source alternative to Zoho's business suite, built with Next.js, TypeScript, and Turborepo. TNZoho provides a comprehensive set of business tools including CRM, project management, invoicing, and team collaboration features.
π Features
Core Business Applications
- CRM System - Customer relationship management with lead tracking, contact management, and sales pipeline
- Project Management - Task management, project tracking, team collaboration, and time tracking
- Invoicing & Billing - Generate invoices, track payments, and manage client billing
- Team Collaboration - Chat, file sharing, and team communication tools
- Analytics Dashboard - Business insights, reports, and data visualization
- Document Management - File storage, sharing, and collaborative editing
Technical Features
- π¨ Modern UI/UX - Clean, responsive design with dark/light theme support
- π Authentication & Authorization - Secure user management with role-based access
- π± Mobile Responsive - Optimized for desktop, tablet, and mobile devices
- π Real-time Updates - Live notifications and real-time data synchronization
- π Advanced Analytics - Comprehensive reporting and data insights
- π Multi-tenant Architecture - Support for multiple organizations
- π API-First Design - RESTful APIs for third-party integrations
- π§ Email Integration - Built-in email capabilities and notifications
ποΈ Architecture
This project is built as a monorepo using Turborepo with the following structure:
Apps
web- Main application (Next.js)docs- Documentation site (Next.js)
Packages
@repo/ui- Shared React component library@repo/eslint-config- ESLint configurations@repo/typescript-config- TypeScript configurations
π οΈ Tech Stack
- Frontend: Next.js 14, React 18, TypeScript
- Styling: Tailwind CSS, Shadcn/ui components
- State Management: Zustand / Redux Toolkit
- Database: PostgreSQL with Prisma ORM
- Authentication: NextAuth.js
- Real-time: Socket.io / WebSockets
- File Storage: AWS S3 / Cloudinary
- Email: Resend / SendGrid
- Deployment: Vercel / Docker
- Monitoring: Sentry, Analytics
π Prerequisites
Before you begin, ensure you have the following installed:
- Node.js (v18 or higher)
- pnpm (v9.0.0 or higher)
- PostgreSQL (v14 or higher)
- Git
π Quick Start
1. Clone the Repository
git clone https://github.com/yourusername/tnzoho.git
cd tnzoho2. Install Dependencies
pnpm install3. Environment Setup
# Copy environment variables
cp .env.example .env.local
# Configure your environment variables
# - Database URL
# - Authentication secrets
# - API keys4. Database Setup
# Run database migrations
pnpm db:migrate
# Seed the database with sample data
pnpm db:seed5. Start Development Server
# Start all applications
pnpm dev
# Or start specific application
pnpm dev --filter=webVisit http://localhost:3000 to see the application.
π Available Scripts
# Development
pnpm dev # Start all apps in development mode
pnpm dev --filter=web # Start specific app
# Building
pnpm build # Build all apps and packages
pnpm build --filter=web # Build specific app
# Code Quality
pnpm lint # Run ESLint on all packages
pnpm format # Format code with Prettier
pnpm check-types # Run TypeScript type checking
# Database
pnpm db:migrate # Run database migrations
pnpm db:seed # Seed database with sample data
pnpm db:studio # Open Prisma Studio
# Testing
pnpm test # Run all tests
pnpm test:watch # Run tests in watch mode
pnpm test:coverage # Run tests with coverageπ’ Business Modules
CRM Module
- Lead management and scoring
- Contact and account management
- Sales pipeline and forecasting
- Email marketing campaigns
- Customer support ticketing
Project Management
- Project creation and planning
- Task assignment and tracking
- Time tracking and reporting
- Team collaboration tools
- Gantt charts and kanban boards
Financial Management
- Invoice generation and management
- Payment tracking and reminders
- Expense management
- Financial reporting and analytics
- Multi-currency support
Team Collaboration
- Real-time messaging and chat
- File sharing and document collaboration
- Video conferencing integration
- Team calendars and scheduling
- Knowledge base and wiki
π§ Configuration
Environment Variables
# Database
DATABASE_URL="postgresql://username:password@localhost:5432/tnzoho"
# Authentication
NEXTAUTH_SECRET="your-secret-key"
NEXTAUTH_URL="http://localhost:3000"
# Email
EMAIL_SERVER_HOST="smtp.gmail.com"
EMAIL_SERVER_PORT=587
EMAIL_SERVER_USER="your-email@gmail.com"
EMAIL_SERVER_PASSWORD="your-password"
# File Storage
AWS_ACCESS_KEY_ID="your-access-key"
AWS_SECRET_ACCESS_KEY="your-secret-key"
AWS_S3_BUCKET="your-bucket-name"
# External APIs
STRIPE_SECRET_KEY="your-stripe-secret"
OPENAI_API_KEY="your-openai-key"π’ Deployment
Vercel (Recommended)
# Install Vercel CLI
npm i -g vercel
# Deploy to Vercel
vercel --prodDocker
# Build Docker image
docker build -t tnzoho .
# Run container
docker run -p 3000:3000 tnzohoManual Deployment
# Build the application
pnpm build
# Start production server
pnpm startπ€ Contributing
We welcome contributions! Please see our Contributing Guide for details.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
π License
This project is licensed under the MIT License - see the LICENSE file for details.
π Support
- π Documentation
- π¬ Discord Community
- π Issue Tracker
- π§ Email Support
πΊοΈ Roadmap
Phase 1 (Current)
- Project setup and architecture
- Basic authentication system
- CRM module foundation
- Project management basics
- User interface components
Phase 2
- Advanced CRM features
- Invoicing system
- Real-time collaboration
- Mobile applications
- API documentation
Phase 3
- Advanced analytics
- Third-party integrations
- Enterprise features
- Multi-language support
- Advanced security features
π Acknowledgments
- Zoho for inspiration
- Turborepo for the monorepo setup
- Next.js for the amazing framework
- Vercel for hosting and deployment
- All our contributors and community members
Made with β€οΈ by the TNZoho team