You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Welcome to the team! This project is a full-stack Next.js application designed for scalability. We use a structured branching strategy to ensure that our production environment remains stable while allowing for rapid development.
We use a Git Flow inspired model. No one should ever push directly to main or dev.
The Hierarchy:
main (Production): Always reflects the current live site on Vercel. Only merges from dev.
dev (Development/Staging): The integration branch for all new features. Vercel creates "Preview Deployments" from this branch.
feat/ or fix/ (Feature Branches): Where all actual work happens. These branches merge into dev.
The Workflow:
Start:git checkout dev then git pull origin dev.
Branch:git checkout -b feat/your-feature-name.
Work: Commit your changes locally.
Sync: Periodically run git pull origin dev to stay updated with other team members.
Push:git push origin feat/your-feature-name.
PR: Open a Pull Request on GitHub: feat/your-feature → dev.
Finalize: Once the feature is tested in dev, a lead will merge dev → main for production release.
2. 🚀 Local Setup & Tools
Required Tools
Node.js: v18.17.0+
pnpm: v8.0.0+ (npm install -g pnpm)
Setup Instructions
Clone:git clone <repo-url>
Install:pnpm install
Environment: Create a .env.local file. This is crucial for backend functionality (Database URIs, API Secrets).
cp .env.example .env.local
Dev Server:pnpm dev (Runs on localhost:3000).
3. 📝 Commit & Coding Standards
Commit Messages
We follow Conventional Commits: type(scope): description
feat: New UI or Backend logic.
fix: Bug fixes.
db: Schema changes or database migrations.
refactor: Code cleanup/AI optimization.
style: daisyUI/Tailwind CSS changes.
Code Style
Server vs. Client: Use 'use client' only when necessary (interactivity, hooks). Keep logic in Server Components for SEO and performance.
Icons: Use lucide-react. Format: <IconName size={24} className="text-primary" />.
4. 🤖 AI & Design Workflow (Figma + Gemini AI Studio)
We use Gemini AI Studio to translate Figma designs into functional, optimized code.
Step 1: Figma to UI (daisyUI)
Extract the CSS/Design properties from Figma. Use Gemini to convert them to daisyUI classes.
Gemini Prompt:"I have a Figma design for a [Component Name]. It uses these colors: [HEX Codes]. Generate a Next.js functional component using Tailwind CSS and daisyUI classes that matches this layout. Use Lucide React for any icons."
Step 2: Backend & Logic Optimization
When building backend features (Server Actions or API Routes), use Gemini to ensure security and performance.
Gemini Prompt:"Optimize this Next.js Server Action for backend security. Check for proper error handling, type safety with TypeScript, and efficient database querying. [PASTE CODE]"
Step 3: Custom Theming
If the Figma template requires a new theme:
Generate the theme object in Gemini.
Add it to tailwind.config.ts under the daisyui: { themes: [...] } array.
Ensure the data-theme attribute in your layout.tsx is updated if necessary.
5. 🛠️ Backend Integration Notes
Schema Changes: If you modify the database schema, you must update the team via the dev branch immediately.
API Documentation: Document any new API endpoints or Server Actions using JSDoc comments (Gemini can generate these for you).
Validation: Use zod for all backend data validation to prevent corrupt data entry.
Reminder: Always check the Vercel Preview build on your Pull Request before asking for a merge into dev. If the build fails there, it will fail in production!
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
-
🛠️ Full-Stack Developer Handbook
Welcome to the team! This project is a full-stack Next.js application designed for scalability. We use a structured branching strategy to ensure that our production environment remains stable while allowing for rapid development.
🏗️ Technical Stack
.env.examplefor DB config)1. 🌿 Branching Strategy & Workflow
We use a Git Flow inspired model. No one should ever push directly to
mainordev.The Hierarchy:
main(Production): Always reflects the current live site on Vercel. Only merges fromdev.dev(Development/Staging): The integration branch for all new features. Vercel creates "Preview Deployments" from this branch.feat/orfix/(Feature Branches): Where all actual work happens. These branches merge intodev.The Workflow:
git checkout devthengit pull origin dev.git checkout -b feat/your-feature-name.git pull origin devto stay updated with other team members.git push origin feat/your-feature-name.feat/your-feature→dev.dev, a lead will mergedev→mainfor production release.2. 🚀 Local Setup & Tools
Required Tools
npm install -g pnpm)Setup Instructions
git clone <repo-url>pnpm install.env.localfile. This is crucial for backend functionality (Database URIs, API Secrets).pnpm dev(Runs onlocalhost:3000).3. 📝 Commit & Coding Standards
Commit Messages
We follow Conventional Commits:
type(scope): descriptionfeat: New UI or Backend logic.fix: Bug fixes.db: Schema changes or database migrations.refactor: Code cleanup/AI optimization.style: daisyUI/Tailwind CSS changes.Code Style
'use client'only when necessary (interactivity, hooks). Keep logic in Server Components for SEO and performance.lucide-react. Format:<IconName size={24} className="text-primary" />.4. 🤖 AI & Design Workflow (Figma + Gemini AI Studio)
We use Gemini AI Studio to translate Figma designs into functional, optimized code.
Step 1: Figma to UI (daisyUI)
Extract the CSS/Design properties from Figma. Use Gemini to convert them to daisyUI classes.
Step 2: Backend & Logic Optimization
When building backend features (Server Actions or API Routes), use Gemini to ensure security and performance.
Step 3: Custom Theming
If the Figma template requires a new theme:
tailwind.config.tsunder thedaisyui: { themes: [...] }array.data-themeattribute in yourlayout.tsxis updated if necessary.5. 🛠️ Backend Integration Notes
devbranch immediately.zodfor all backend data validation to prevent corrupt data entry.Reminder: Always check the Vercel Preview build on your Pull Request before asking for a merge into
dev. If the build fails there, it will fail in production!Beta Was this translation helpful? Give feedback.
All reactions