Skip to content

This full-stack application leverages Next.js 14 to compare text similarities, featuring Google authentication via NextAuth.js for secure user access. It utilizes OpenAI's API for text embedding & manages backend operations through Prisma Client ( Planetscale database ). Upstash Redis used along with rate limiting for robust security.

Notifications You must be signed in to change notification settings

moscuet/text-similarity

Repository files navigation


🟢 Live App
OpenAI | Google Authentication



Text Similarity API App

This App is a full-stack application designed to compare and determine the similarity between two texts, developed using Next.js 14 Check it out at Text Similarity API


🔥Features

  • Google Authentication: Secure login to create a personal API key.
  • API Key Management: Users can create, recreate, or revoke their API keys.
  • Text Similarity Analysis: Utilize the API to compare the similarity between two pieces of text.
  • User Dashboard: View and manage request history.

🛠 Tech Stack

  • Front-End: Next.js 14, Tailwind CSS, Radix UI Primitives, next/font, Lucide Icons, Framer Motion.
  • Back-End: API Route Limiting, Sensitive Route Protection, OpenAI Integration, Redis/Upstash.
  • Database: MySQL via Prisma (Planetscale).
  • Authentication: Google Auth, API Key Management.
  • Design & UX: Material-UI, Tailwind CSS Animate, next-themes for Dark Mode.
  • Utilities: tailwind-merge, clsx, class-variance-authority.

📖 Project Story

The app focuses on delivering a minimalistic yet powerful tool for textual analysis, ensuring user-friendly interaction and efficient performance.


⚠️ Limitations

  • Request limit 10/hour.
  • Only google authentication available now.

🧬 Running in local environment

First clone the repository, then run the following command in project root:

npm run dev
# or
yarn dev

Visit http://localhost:3000 for the application.


🚀 Deployment

Deploy with the Vercel Platform for optimal performance and scalability. Refer to Next.js deployment documentation for detailed guidance.


📦 Installed Packages

@emotion/react @emotion/styled @mui/material @mui/system @mui/x-data-grid @next-auth/prisma-adapter @prisma/client @radix-ui/react-dropdown-menu @radix-ui/react-scroll-area @radix-ui/react-tabs @total-typescript/ts-reset @upstash/ratelimit @upstash/redis class-variance-authority clsx date-fns framer-motion lodash lucide-react nanoid next-auth next-themes openai prism-react-renderer prisma react-hot-toast sharp simplebar-react tailwind-merge zod tailwindcss postcss autoprefixer

About

This full-stack application leverages Next.js 14 to compare text similarities, featuring Google authentication via NextAuth.js for secure user access. It utilizes OpenAI's API for text embedding & manages backend operations through Prisma Client ( Planetscale database ). Upstash Redis used along with rate limiting for robust security.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages