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 tnzoho

2. Install Dependencies

pnpm install

3. Environment Setup

# Copy environment variables
cp .env.example .env.local

# Configure your environment variables
# - Database URL
# - Authentication secrets
# - API keys

4. Database Setup

# Run database migrations
pnpm db:migrate

# Seed the database with sample data
pnpm db:seed

5. Start Development Server

# Start all applications
pnpm dev

# Or start specific application
pnpm dev --filter=web

Visit 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 --prod

Docker

# Build Docker image
docker build -t tnzoho .

# Run container
docker run -p 3000:3000 tnzoho

Manual Deployment

# Build the application
pnpm build

# Start production server
pnpm start

🀝 Contributing

We welcome contributions! Please see our Contributing Guide for details.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

πŸ“„ License

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

πŸ†˜ 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