Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Texity AI

Texity AI is a full-stack writing workspace with real-time chat, AI-assisted writing tools, file analysis, web search, authentication, and subscription billing.

Live portfolio: raimhaider.vercel.app
LinkedIn: Rai Muhammad Haider
Contact: raimuhammadalihaider@gmail.com

Features

  • Email and password authentication with OTP login and password reset
  • Real-time Stream Chat conversations with a Groq-powered AI assistant
  • AI writing templates, writing analysis, and conversation summaries
  • Document upload and analysis for PDF, DOCX, and TXT files
  • DuckDuckGo web search from the writing workflow
  • User preferences, theme support, and responsive React UI
  • Stripe-backed billing endpoints and Swagger documentation for the auth API

Architecture

Directory Purpose Default port
frontend React, Vite, Tailwind CSS, and Stream Chat client 5173
Backend Express service for Stream Chat tokens and Groq AI features 33333
project-name NestJS API for authentication, MongoDB, billing, and API docs 3000

Tech Stack

  • React 18, TypeScript, Vite, Tailwind CSS, Radix UI
  • Node.js, Express, NestJS, TypeScript
  • Stream Chat, Groq, MongoDB/Mongoose, Stripe
  • JWT, Nodemailer, Swagger, Jest

Getting Started

Prerequisites

  • Node.js 20 or newer
  • npm
  • A MongoDB instance
  • Stream Chat API credentials
  • A Groq API key

Optional integrations include Stripe and SMTP credentials for billing and email delivery.

1. Clone and install

git clone https://github.com/RaiMuhammadHaider/Texity.git
cd Texity

cd Backend
npm install

cd ../frontend
npm install

cd ../project-name
npm install

2. Configure environment variables

Copy each example file to .env in its corresponding directory. Never commit .env files or real credentials.

Backend/.env

STREAM_API_KEY=your_stream_api_key
STREAM_API_SECRET=your_stream_api_secret
GROQ_API_KEY=your_groq_api_key
PORT=33333

frontend/.env

VITE_STREAM_API_KEY=your_stream_api_key
VITE_AUTH_URL=http://localhost:3000
VITE_AI_URL=http://localhost:33333
VITE_STRIPE_PUBLISHABLE_KEY=your_stripe_publishable_key

project-name/.env

mongoURL=mongodb://localhost:27017/texity
JWT_SECRET=replace_with_a_long_random_value
PORT=3000
FRONTEND_URL=http://localhost:5173
EMAIL_USER=your_smtp_email
EMAIL_PASS=your_smtp_password
STRIPE_SECRET_KEY=your_stripe_secret_key

3. Run the services

Open three terminals from the repository root:

cd Backend
npm run dev
cd frontend
npm run dev
cd project-name
npm run start:dev

Open the frontend at http://localhost:5173. Swagger documentation for the NestJS API is available at http://localhost:3000/api.

Available Commands

Service Command Description
Frontend npm run dev Start the Vite development server
Frontend npm run lint Run ESLint
Frontend npm run build Create a production build
AI service npm run dev Start the Express service with reload
AI service npm run start Compile and run the Express service
API npm run start:dev Start the NestJS API with reload
API npm test Run unit tests
API npm run test:e2e Run end-to-end tests

Run each command from the matching service directory.

Contributing

Contributions are welcome. Please read CONTRIBUTING.md before opening an issue or pull request.

For security issues, do not open a public issue or commit credentials. Email raimuhammadalihaider@gmail.com instead.

License

Texity AI is available under the MIT License.

Author

Built by Rai Muhammad Haider. View more work at raimhaider.vercel.app.

About

WriteNova is an open-source AI-powered writing SaaS built with modern full-stack technologies, helping users generate, refine, and improve content through an intuitive and scalable platform.

Topics

Resources

Contributing

Stars

Watchers

Forks

Packages

Contributors

Languages