MCPcopy Index your code
hub / github.com/Elliott-Chong/normalhuman

github.com/Elliott-Chong/normalhuman @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
195 symbols 766 edges 135 files 0 documented · 0%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Full Stack Chat PDF Clone

Link to YouTube Tutorial

Overview

Welcome to this comprehensive full-stack tutorial where we build and deploy a fully featured AI powered email client using NextJS 14. Join me as we build an entire project from the ground up and seamlessly deploy it to Vercel 🚀. The application also includes a subscription feature, where users can subscribe to access premium features. The subscription process is handled using Stripe for payments and webhooks for event processing.

Technologies and Frameworks

  • Next.js
  • React
  • TypeScript
  • Tailwind CSS
  • Clerk
  • Prisma ORM
  • PostgreSQL
  • AWS SDK
  • OpenAI API
  • Stripe
  • Axios
  • Pinecone
  • OpenAI Edge
  • Neon Database Serverless
  • @tanstack/react-query
  • @clerk/nextjs
  • clsx
  • tailwind-merge

Installation

Follow the steps below to install and setup the project:

  1. Clone the repository

Open your terminal and run the following command:

bash git clone https://github.com/Elliott-Chong/normalhuman.git

  1. Navigate to the project directory

bash cd normalhuman

  1. Install Node.js

The project requires Node.js version 13.4.19 or later. You can download it from here.

  1. Install the required dependencies

Run the following command to install all the required dependencies:

bash npm install

This will install all the dependencies listed in the package.json file, including Next.js, React, React DOM, Axios, Stripe, Tailwind CSS, and other specific dependencies such as "@aws-sdk/client-s3" and "@clerk/nextjs".

  1. Setup environment variables

    Create a .env file in the root directory of your project and add the required environment variables.

  2. Run the project

    Now, you can run the project using the following command:

    bash npm run dev

    Open http://localhost:3000 with your browser to see the result.

Extension points exported contracts — how you extend this code

CommandDialogProps (Interface)
(no doc)
src/components/ui/command.tsx
SyncResponse (Interface)
(no doc)
src/lib/types.ts
Message (Interface)
(no doc)
src/app/api/completion/route.ts
State (Interface)
(no doc)
src/hooks/use-toast.ts
TextareaProps (Interface)
(no doc)
src/components/ui/textarea.tsx
SyncUpdatedResponse (Interface)
(no doc)
src/lib/types.ts
MailProps (Interface)
(no doc)
src/app/mail/components/mail.tsx
InputProps (Interface)
(no doc)
src/components/ui/input.tsx

Core symbols most depended-on inside this repo

cn
called by 186
src/lib/utils.ts
authoriseAccountAccess
called by 14
src/server/api/routers/mail.tsx
create
called by 10
src/app/mail/components/copilot-suggestion.tsx
useThreads
called by 9
src/app/mail/use-threads.tsx
useThread
called by 8
src/app/mail/use-thread.ts
dispatch
called by 5
src/hooks/use-toast.ts
useCarousel
called by 4
src/components/ui/carousel.tsx
useFormField
called by 4
src/components/ui/form.tsx

Shape

Function 148
Method 22
Interface 17
Class 8

Languages

TypeScript100%

Modules by API surface

src/lib/account.ts12 symbols
src/app/mail/components/copilot-suggestion.tsx10 symbols
src/lib/orama.ts9 symbols
src/hooks/use-toast.ts9 symbols
src/lib/types.ts6 symbols
src/lib/sync-to-db.ts6 symbols
src/components/ui/pagination.tsx5 symbols
src/server/api/routers/mail.tsx4 symbols
src/lib/aurinko.ts4 symbols
src/app/mail/components/email-editor/index.tsx4 symbols
src/app/mail/components/email-editor/extension.ts4 symbols
src/trpc/react.tsx3 symbols

For agents

$ claude mcp add normalhuman \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact