Skip to content

jhonathan-humnel/nest-next-enterprise-connect

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 

Repository files navigation

🚀 Nexus Integration Platform

A unified enterprise integration hub that connects services like Slack and Google Drive into a single modern web application. Built with Next.js and NestJS, it provides a secure, scalable, and developer-friendly foundation for enterprise workflows.


📖 Overview

The Nexus Integration Platform enables teams to seamlessly access and manage enterprise services from one centralized dashboard.

Key Features:

  • 🔐 Secure Authentication — JWT-based auth with role-ready architecture
  • 💬 Slack Integration — Access channels, users, and messages
  • 📂 Google Drive Integration — File browsing and management
  • 🎨 Modern UI/UX — Built with Chakra UI for responsive and accessible design
  • 🛠 Type-Safe Development — End-to-end TypeScript support

🏗 Tech Stack

Frontend

  • Next.js — React framework with SSR and routing
  • TypeScript — Type safety and DX
  • Chakra UI — Accessible component library
  • Axios — Promise-based HTTP client

Backend

  • NestJS — Enterprise Node.js framework
  • PostgreSQL — Relational database
  • TypeORM — ORM for PostgreSQL
  • JWT — Authentication and authorization

⚡ Why This Stack?

  1. TypeScript Across the Stack

    • Consistent language for frontend & backend
    • Compile-time safety with strong IDE support
  2. Next.js for the Frontend

    • SEO-friendly SSR and ISR
    • Built-in API routes and optimizations
  3. NestJS for the Backend

    • Modular, dependency-injected architecture
    • Enterprise-ready with built-in guards, interceptors, and middleware
  4. PostgreSQL + TypeORM

    • Powerful relational database
    • Declarative migrations and schema synchronization

🖥️ Local Development Setup

Prerequisites

  • Node.js v16+
  • PostgreSQL
  • ngrok (for Slack OAuth testing)

Environment Configuration

Create .env files for frontend and backend.

Backend (.env)

DATABASE_URL=postgresql://username:password@localhost:5432/dbname
JWT_SECRET=your_jwt_secret
FRONTEND_URL=http://localhost:3000

# Slack OAuth
SLACK_CLIENT_ID=your_slack_client_id
SLACK_CLIENT_SECRET=your_slack_client_secret
SLACK_CALLBACK_URL=your_ngrok_url/auth/slack/callback

# Google OAuth
GOOGLE_CLIENT_ID=your_google_client_id
GOOGLE_CLIENT_SECRET=your_google_client_secret
GOOGLE_CALLBACK_URL=http://localhost:3001/auth/google/callback

Frontend (.env.local)

NEXT_PUBLIC_API_URL=http://localhost:3001

Setup Steps

1. Database Setup

createdb dbname
cd backend
npm run migration:run

2. Backend Setup

cd backend
npm install
npm run start:dev

3. Frontend Setup

cd frontend
npm install
npm run dev

4. Slack Integration

  • Create a Slack app at Slack API

  • Add OAuth scopes: users:read, users:read.email, channels:read, channels:history, groups:read

  • Run ngrok:

    ngrok http 3001
  • Add the ngrok redirect URL in Slack app settings

  • Update .env with the ngrok URL

5. Google Drive Integration

  • Enable Google Drive API in Google Cloud Console
  • Create OAuth 2.0 credentials
  • Add test users & configure consent screen
  • Update .env with client credentials

🧪 Testing the Platform

  1. Start backend:

    cd backend
    npm run start:dev
  2. Start frontend:

    cd frontend
    npm run dev
  3. Open the app at http://localhost:3000

✅ Test Cases:

  • Register/Login with JWT
  • Connect Slack via ngrok URL
  • Connect Google Drive via OAuth
  • Browse Slack channels & messages
  • Browse Google Drive files

🚀 Deployment

To deploy, you will need:

  1. Production-ready PostgreSQL instance
  2. Environment variables configured
  3. Slack app updated with production URLs
  4. Google OAuth credentials with production redirect URIs
  5. Node.js hosting (e.g., Vercel for frontend, Heroku/AWS/GCP for backend)

🔒 Security

  • JWT-based authentication
  • Secure OAuth 2.0 flows for integrations
  • Service tokens stored securely
  • All API calls over HTTPS
  • Sensitive configs in environment variables

📌 Roadmap / Future Enhancements

  • 🧩 Add support for more enterprise integrations (Jira, Confluence, GitHub, etc.)
  • 🔄 Real-time sync with Slack/Drive events (WebSockets / Server-Sent Events)
  • 📤 File upload & sharing across services
  • ⚠️ Improved error boundaries & observability
  • ✅ Comprehensive unit, integration, and e2e testing

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors