---
title: "Quick Start"
description: "Get your portfolio website running in 10 minutes"
---
# Quick Start Guide
Get your portfolio website up and running quickly with this step-by-step guide.
## Prerequisites
Before starting, make sure you have:
| Requirement | Version | Check Command |
|-------------|---------|---------------|
| Node.js | 18+ | `node --version` |
| npm | 9+ | `npm --version` |
| Git | Any | `git --version` |
You'll also need an [Appwrite Cloud](https://cloud.appwrite.io) account (free).
## Installation
```bash
git clone
cd portfolio
```
```bash
npm install
```
This installs all required packages including React, Vite, Tailwind, and Appwrite SDK.
1. Go to [cloud.appwrite.io](https://cloud.appwrite.io)
2. Click **Create Project**
3. Name it (e.g., "Portfolio")
4. Copy your **Project ID**
Create a `.env` file in the root directory:
```env
# Appwrite Configuration
VITE_APPWRITE_ENDPOINT=https://cloud.appwrite.io/v1
VITE_APPWRITE_PROJECT_ID=your_project_id_here
VITE_APPWRITE_DATABASE_ID=portfolio_db
VITE_APPWRITE_STORAGE_ID=reactbucket
# Optional: PayPal (for shop)
VITE_PAYPAL_CLIENT_ID=your_paypal_client_id
```
Never commit `.env` to version control. It's already in `.gitignore`.
1. In Appwrite Console, go to **Settings** → **Platforms**
2. Click **Add Platform** → **Web**
3. Enter hostname: `localhost`
4. Click **Create**
This allows your local development server to communicate with Appwrite.
```bash
npm run dev
```
Open [http://localhost:5173](http://localhost:5173) in your browser.
You should see the portfolio homepage (with placeholder content until you set up the database).
## Database Setup
Your site needs database collections to store content. You have two options:
### Option A: Quick Setup (Recommended for Testing)
Create the minimum required collections:
1. Go to Appwrite Console → **Databases**
2. Click **Create Database** → ID: `portfolio_db`
3. Create these collections with basic attributes:
| Collection | Required Attributes |
|------------|---------------------|
| `header_section` | `name` (string), `roles` (string[]), `description` (string) |
| `menubar_settings` | `showBlog` (boolean), `showProjects` (boolean) |
See [Database Setup](/appwrite/database-setup) for complete schema.
### Option B: Full Setup
Follow the complete [Appwrite Setup Guide](/appwrite/overview) to create all collections and storage buckets.
## First-Time Admin Setup
Go to [http://localhost:5173/admin](http://localhost:5173/admin)
Click **Sign Up** and create an account with your email.
If email verification is enabled in Appwrite, check your inbox and verify.
Start adding your content:
| Section | What to Add |
|---------|-------------|
| Header | Your name, job titles, intro |
| About | Bio, skills, profile image |
| Projects | Your portfolio work |
| Blog | Articles and posts |
## Quick Content Checklist
After setup, add content in this order:
`/admin/header` - Your name, rotating roles, description
`/admin/about` - Bio, skills, profile image
`/admin/project-categories` - Create 2-3 categories
`/admin/projects` - Add your best project
`/admin/blog-categories` - Create a category
`/admin/blogs` - Write your first post
## Build for Production
```bash
# Build optimized production bundle
npm run build
# Preview production build locally
npm run preview
```
The build output is in the `dist/` folder, ready for deployment.
## Common Issues
- Check `.env` file exists with correct values
- Verify Appwrite project ID is correct
- Ensure `localhost` is added to Appwrite platforms
Add `localhost` to Appwrite Console → Settings → Platforms
- Delete `node_modules` and `package-lock.json`
- Run `npm install` again
- Ensure Node.js 18+ is installed
See [Troubleshooting](/troubleshooting) for more solutions.
## Next Steps
Set up all collections and storage buckets
Make your portfolio live
Change colors, fonts, and styles
Learn about all available features