This is a modern web application built with cutting-edge technologies for a seamless development experience.
- Next.js 15.1.2 - React framework for production
- React 19 - UI library
- TypeScript - Type-safe JavaScript
- Clerk - Authentication and user management
- Convex - Backend database and real-time synchronization
- TailwindCSS - Utility-first CSS framework
- ESLint - Code linting
- Turbopack - Next.js bundler (experimental)
Before you begin, ensure you have installed:
- Node.js (Latest LTS version recommended)
- npm, yarn, or pnpm
- Clone the repository:
git clone <repository-url>
cd devstudio- Install dependencies:
npm install
# or
yarn install
# or
pnpm install- Set up TailwindCSS:
- TailwindCSS is already configured in the project
- Check tailwind.config.ts for customizations
- Styles are automatically processed during development
- Set up Clerk Authentication:
npm install @clerk/nextjs
# or
yarn add @clerk/nextjs- Sign up at Clerk.dev
- Create a new application in Clerk dashboard
- Create a
.env.localfile and add your Clerk keys:
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=your_publishable_key
CLERK_SECRET_KEY=your_secret_key
NEXT_PUBLIC_CLERK_SIGN_IN_URL=/sign-in
NEXT_PUBLIC_CLERK_SIGN_UP_URL=/sign-up
NEXT_PUBLIC_CLERK_AFTER_SIGN_IN_URL=/
NEXT_PUBLIC_CLERK_AFTER_SIGN_UP_URL=/- Set up Convex Backend:
npm install convex
# or
yarn add convex- Install Convex CLI:
npm install -g convex- Initialize Convex:
npx convex dev- Add your Convex deployment URL to
.env.local:
NEXT_PUBLIC_CONVEX_URL=your_convex_urlStart the development server:
npm run dev
# or
yarn dev
# or
pnpm devThe application will be available at http://localhost:3000.
/app- Next.js application routes and pages/convex- Convex backend functions and schema/components- Reusable React components/public- Static assets/styles- Global styles and TailwindCSS configuration
npm run dev- Start development server with Turbopacknpm run build- Build for productionnpm start- Start production servernpm run lint- Run ESLint
Deploy on Vercel:
- Push your code to GitHub
- Import project to Vercel
- Add environment variables
- Deploy!
Your Convex backend will automatically deploy when you push your changes:
npx convex deploy- TypeScript
- Use strict type checking
- Utilize interfaces and types for all components and functions
- Follow the project's existing type definitions
- Styling
- Use TailwindCSS utility classes
- Follow the project's color scheme and design system
- Keep components responsive and mobile-friendly
- State Management
- Use Convex for global state management
- Utilize React hooks for local state
- Implement proper loading and error states
- Authentication
- All protected routes should use Clerk middleware
- Implement proper role-based access control
- Follow security best practices
Common issues and solutions:
- Environment Variables
- Ensure all required environment variables are set in
.env.local - Restart the development server after updating environment variables
- Build Issues
- Clear
.nextfolder and node_modules - Run
npm clean-installoryarn install --force
- Convex Issues
- Ensure Convex CLI is properly installed
- Check Convex dashboard for deployment status
- Verify Convex URL in environment variables
- Authentication Issues
- Verify Clerk credentials in environment variables
- Check Clerk dashboard for application status
- Ensure proper redirect URLs are configured
- Fork the repository
- Create a feature branch
- Commit your changes
- Push to the branch
- Create a new Pull Request
Please ensure your PR follows our contribution guidelines and includes appropriate tests.
For support and questions:
- Create an issue in the repository
- Check existing documentation
- Contact the development team