A modern web application for managing multiple Vercel projects and accounts in one place. Built with Next.js, TypeScript, and Supabase.
- 🔐 Secure authentication with Supabase
- 🔑 Manage multiple Vercel API tokens
- 📊 View and manage Vercel projects across different accounts
- 🎨 Modern UI with Tailwind CSS and Radix UI components
- ⚡ Fast development with Turbopack
- 🔄 Real-time updates and state management
- Framework: Next.js 15.1.7
- Language: TypeScript
- Styling: Tailwind CSS
- UI Components: Radix UI
- Authentication: Supabase
- State Management: React Hooks
- Development: Turbopack
- Node.js 18+
- npm or yarn
- A Vercel account
- A Supabase account
Create a .env.local file in the root directory with the following variables:
NEXT_PUBLIC_SUPABASE_URL=your_supabase_url
NEXT_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_key-- Create a new table for multiple tokens
CREATE TABLE user_vercel_tokens (
id UUID PRIMARY KEY DEFAULT uuid_generate_v4(),
user_id UUID NOT NULL REFERENCES auth.users(id) ON DELETE CASCADE,
token_value TEXT NOT NULL,
token_name TEXT NOT NULL,
created_at TIMESTAMP WITH TIME ZONE DEFAULT NOW(),
UNIQUE(user_id, token_name)
);
- Clone the repository:
git clone https://github.com/yourusername/vercel-project-manager.git
cd vercel-project-manager- Install dependencies:
npm install
# or
yarn install-
Set up your environment variables as described above.
-
Run the development server:
npm run dev
# or
yarn dev- Open http://localhost:3000 with your browser to see the application.
npm run dev- Start the development server with Turbopacknpm run build- Build the application for productionnpm run start- Start the production servernpm run lint- Run ESLint for code linting
├── src/
│ ├── app/ # Next.js app directory
│ ├── components/ # React components
│ ├── hooks/ # Custom React hooks
│ └── lib/ # Utility functions and configurations
├── public/ # Static assets
└── ...config files
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.