Skip to content

Latest commit

 

History

History
90 lines (58 loc) · 4.34 KB

README.md

File metadata and controls

90 lines (58 loc) · 4.34 KB

Taboo AI

Learn English Vacabulary while having fun playing a game with intelligent chat AI. Train to use clear English expression and descriptive phrases to trick the AI into saying the target guess word. Taboo AI is both fun and educational, allowing you to gain knowledge, practice english expression, memorize more vocabs, and simply have fun!

Visit https://taboo-ai.com/

Taboo AI

Feature 01

Feature 02

Feature 03

Feature 04

Commands

  • npm run dev: Start a local development with .env.local
  • npm run build: Create a local build
  • npm run start: Start the local server using local build
  • npm run lint: Run eslint and stylelint on the codebase
  • npm run style: Run prettier on the codebase and auto-format
  • npm run test: Run unit test
  • npm run test:e2e: Run e2e test using Playwright
  • npm run test:e2e:trace: Run e2e test using Playwright and generate a trace report
  • npm run vercel:init: Login to your account in vercel, bind the project and then pull in development environment variables
  • npm run vercel:pull: Required login to vercel. Pull in development environment variables.
  • npm run vercel:dev: Start a local development using vercel cli pulled environment (found in .vercel/ in project root)
  • npm run gen-types: Generate types for supabase postgres schemas

Local supabase

When you are running npm run dev, it is recommended that you run with a local supabase instance. For how to set up supabase for local dev, check out https://supabase.com/docs/guides/cli/local-development.

Then ask me for the migration files, which you will need to populate the local postgres with existing schemas, roles and RLS policies.

Contribute

To contribute, look at the Issues to find the one that you are interested in working with. Or raise your own issues. Once you are done, simply submit a pull request for review.

Branching

Taboo AI has main branch for production, YOu can just branch out from main to work on your feature. Once you are done, submit a PR to main branch. This PR will automatically trigger preview pipeline to deploy a preview version. As a contributor, you should be invited into our Slack channel, from which the GitHub bot will notify you when the preview deployment is ready for review

Local Dev Environment

When you clone the project, simply run npm i && npm run dev to start your development. If you are given access to Vercel proejct, then you can run npm run vercel:dev instead. You might notice certain features in the local dev version not working, for example Ai feature or Supabase Connection. This is because you need to specify a environment file for local development and it stays in your local and never pushed to GitHub. You should create your own environment file in order for some features to work:

.env.local

SITE_URL="http://localhost:3000"

# Taboo AI app settings
NEXT_PUBLIC_MAINTENANCE="false"
NEXT_PUBLIC_TABOO_AI_VERSION="3.1.2"

# Sendgrid API
SENDGRID_API_KEY=""
SENDGRID_TO_EMAIL=""
SENDGRID_FROM_EMAIL=""

# Vercel analytics
VERCEL_ANALYTICS_ID=""
VERCEL_WEB_ANALYTICS_ID=""

# Google Gemini API
GOOGLE_GEMINI_PRO_API_KEY=""

# Supabase
NEXT_PUBLIC_SUPABASE_ANON_KEY=""
NEXT_PUBLIC_SUPABASE_URL=""
SUPABASE_SERVICE_ROLE_KEY=""

# Stripe API
NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY=""
STRIPE_SECRET_KEY=""

For any missing values in the environment sample above, if you need it, please feel free to leave me a message and I will assist you in setting up.

Why not use Vercel env and do vercel pull?

Yes the most convenient way is to use Vercel. However, unfortunately I'm on FREE plan in vercel so I cannot add team members in order to do so. So for now, you have to create your own local env file 😅 sorry for the inconvenience!


Thank you for your contribution to make Taboo AI a better platform for English learning!