A modern full-stack AI-enabled template using Next.js for frontend and Express.js for backend, with Telegram and OpenAI integrations! โจ
This template is specially crafted for the Cursor IDE, offering:
- ๐ค AI-assisted development with inline code explanations
- ๐ Smart environment variable setup assistance
- ๐ก Intelligent error resolution
- ๐ Context-aware code completion
- ๐ ๏ธ Built-in debugging helpers
Just highlight any error message, code snippet, or variable in Cursor and ask the AI for help!
Cmd/Ctrl + K
: Ask AI about highlighted codeCmd/Ctrl + L
: Get code explanationsCmd/Ctrl + I
: Generate code completions- Highlight any error message to get instant fixes
- Prerequisites:
node >= 22 ๐ข
pnpm >= 9.14.1 ๐ฆ
- Install dependencies:
pnpm install
- Fire up the dev servers:
pnpm run dev
.
โโโ ๐ฆ client/ # Next.js frontend
โ โโโ ๐ฑ app/ # Next.js app router (pages, layouts)
โ โโโ ๐งฉ components/ # React components
โ โ โโโ HelloWorld.tsx # Example component with API integration
โ โโโ ๐
styles/ # Global styles and Tailwind config
โ โ โโโ globals.css # Global CSS and Tailwind imports
โ โ โโโ tailwind.config.ts # Tailwind configuration
โ โโโ ๐ ๏ธ bin/ # Client scripts
โ โ โโโ validate-env # Environment variables validator
โ โโโ next.config.js # Next.js configuration (API rewrites)
โ โโโ .env.example # Example environment variables for client
โ โโโ tsconfig.json # TypeScript configuration
โ
โโโ โ๏ธ server/ # Express.js backend
โ โโโ ๐ src/ # Server source code
โ โ โโโ ๐ฃ๏ธ routes/ # API route handlers
โ โ โ โโโ hello.ts # Example route with middleware
โ โ โโโ index.ts # Server entry point (Express setup)
โ โโโ ๐ ๏ธ bin/ # Server scripts
โ โ โโโ validate-env # Environment validator
โ โ โโโ www-dev # Development server launcher
โ โโโ tsconfig.json # TypeScript configuration
โ
โโโ ๏ฟฝ๏ฟฝ๏ฟฝ scripts/ # Project scripts
โ โโโ dev # Concurrent dev servers launcher
โ
โโโ ๐ .env.example # Root environment variables example for server
โโโ ๐ง package.json # Root package with workspace config
โโโ ๐ฆ pnpm-workspace.yaml # PNPM workspace configuration
๐ก Pro Tip: In Cursor IDE, highlight any environment variable name and ask the AI for setup instructions!
NEXT_PUBLIC_API_URL
: Backend API URL (default: http://localhost:3001) ๐NEXT_PUBLIC_TELEGRAM_BOT_NAME
: Telegram bot name without the @ symbol, you can get it from BotFather after creating your bot (default: your_bot_username) ๐ค
-
PORT
: Server port (default: 3001) ๐ช -
NODE_ENV
: Environment (development/production) ๐ -
TELEGRAM_BOT_TOKEN
: ๐ค- Open Telegram and search for @BotFather
- Start chat and send
/newbot
- Follow prompts to name your bot
- Copy the provided token
-
OPENAI_API_KEY
: ๐ง- Visit https://platform.openai.com/api-keys
- Click "Create new secret key"
- Give it a name and copy the key immediately
- Set usage limits in API settings if needed
-
NGROK_AUTH_TOKEN
: ๐- Create account at https://dashboard.ngrok.com/signup
- Go to https://dashboard.ngrok.com/get-started/your-authtoken
- Copy your authtoken
-
NGROK_DOMAIN
: ๐- Go to https://dashboard.ngrok.com/domains
- Copy your domain (without https://)
-
COLLABLAND_API_KEY
: ๐ค- Visit https://dev-portal-qa.collab.land/signin
- Click on "Get Started"
- Select Telegram login
- Login with Telegram
- Verify your e-mail with the OTP sent to your inbox
- Click on "Request API Access" on the top right corner, and set up the API key name
- Copy your API key
-
GAIANET_MODEL
: ๐ค- Visit https://docs.gaianet.ai/user-guide/nodes
- Choose your model (default: llama)
- Copy the model name
-
GAIANET_SERVER_URL
: ๐- Visit https://docs.gaianet.ai/user-guide/nodes
- Get server URL for your chosen model
- Default: https://llama8b.gaia.domains/v1
-
GAIANET_EMBEDDING_MODEL
: ๐งฌ- Visit https://docs.gaianet.ai/user-guide/nodes
- Choose embedding model (default: nomic-embed)
- Copy the model name
-
USE_GAIANET_EMBEDDING
: โ๏ธ- Set to TRUE to enable Gaianet embeddings
- Set to FALSE to disable (default: TRUE)
-
JOKERACE_CONTRACT_ADDRESS
: ๐ฐ- Go to https://www.jokerace.io/contest/new
- Create the contest
- Copy the contract address
๐ Note: Keep these tokens secure! Never commit them to version control. The template's
.gitignore
has your back!
- Build both apps:
pnpm run build
- Launch production servers:
pnpm start
- For production deployment: ๐
- Set
NODE_ENV=production
- Use proper SSL certificates ๐
- Configure CORS settings in server/src/index.ts ๐ก๏ธ
- Set up error handling and logging ๐
- Use process manager like PM2 โก
- Client:
const ENV_HINTS = {
NEXT_PUBLIC_API_URL: "Your API URL (usually http://localhost:3001)",
// Add more hints as needed! โจ
};
- Server:
const ENV_HINTS = {
PORT: "API port (usually 3001)",
NODE_ENV: "development or production",
TELEGRAM_BOT_TOKEN: "Get from @BotFather",
OPENAI_API_KEY: "Get from OpenAI dashboard",
NGROK_AUTH_TOKEN: "Get from ngrok dashboard",
// Add more hints as needed! โจ
};
- Add TypeScript types in respective env.d.ts files ๐
- Create new route file in server/src/routes/
- Import and use in server/src/index.ts
- Add corresponding client API call in client/components/
- Create component in client/components/
- Use Tailwind CSS for styling ๏ฟฝ๏ฟฝ
- Follow existing patterns for API integration
- Create middleware in server/src/middleware/
- Apply globally or per-route basis
- Copy the token metadata template:
cp token_metadata.example.jsonc token.jsonc
- Edit
token.jsonc
with your token details:
{
"name": "YourToken", // Token name
"symbol": "TOKEN", // Token symbol (2-6 chars)
"description": "Your token description",
"websiteLink": "https://yoursite.com",
"twitter": "your_twitter_handle",
"discord": "https://discord.gg/your_server",
"telegram": "your_bot_telegram_username",
"nsfw": false,
"image": "ipfs://your_ipfs_hash" // Upload image to IPFS first
}
- Update
.env
to point to your token file:
TOKEN_DETAILS_PATH=token.jsonc
- Start your bot and use the
/mint
command in Telegram. The bot will:
- Read your token config
- Mint on Base Sepolia testnet
- Return contract details and token page URL
Note: Make sure you have set up your COLLABLAND_API_KEY and TELEGRAM_BOT_TOKEN in .env first.
- Next.js App Router: https://nextjs.org/docs/app ๐ฏ
- Express.js: https://expressjs.com/ โก
- Tailwind CSS: https://tailwindcss.com/docs ๐
- TypeScript: https://www.typescriptlang.org/docs/ ๐