π Check out the live project here: ccpalette.com | ccpalette.vercel.app
- About
- Features
- Tech Stack
- Project Structure
- Prerequisites
- Getting Started
- Available Scripts
- π§ Contact Form Setup
- Deployment
- Contributing
- License
CodePalette is a modern, creative portfolio website showcasing web development projects and services. Built with React, Vite, and Tailwind CSS, it provides a fast, responsive, and visually stunning platform to display your work and connect with potential clients or collaborators.
- π― Responsive Design - Works seamlessly on desktop, tablet, and mobile devices
- β‘ Lightning Fast - Built with Vite for optimal performance
- π¨ Modern UI - Beautiful, customizable interface with Tailwind CSS
- π§ Contact Form - Integrated email functionality using Resend
- π Easy Deployment - One-click deployment to Vercel
- π± React Router - Smooth navigation between pages
- π§ Developer Friendly - ESLint configured for code quality
- πΎ Environment Management - Secure configuration with dotenv
- React 19.1.0 - UI library
- React Router DOM 7.6.2 - Client-side routing
- Vite 6.3.5 - Build tool and dev server
- Tailwind CSS 3.4.3 - Utility-first CSS framework
- PostCSS 8.5.5 - CSS processing
- Express 5.2.1 - Node.js web framework
- Resend 6.5.2 - Email service for contact form
- ESLint - Code quality and style enforcement
- Concurrently - Run multiple npm scripts simultaneously
- Autoprefixer - Add vendor prefixes to CSS
CodePalette/
βββ api/ # Backend API functions
βββ src/
β βββ components/ # Reusable React components
β βββ pages/ # Page components (Home, Contact, etc.)
β βββ App.jsx # Main app component
β βββ main.jsx # Entry point
βββ public/ # Static assets
βββ index.html # HTML template
βββ server.js # Express server configuration
βββ vite.config.js # Vite configuration
βββ tailwind.config.js # Tailwind CSS configuration
βββ postcss.config.js # PostCSS configuration
βββ eslint.config.js # ESLint rules
βββ vercel.json # Vercel deployment config
βββ package.json # Project dependencies
βββ .env.local # Environment variables (local)
Before you begin, ensure you have the following installed:
git clone https://github.com/MariaZasypkina/CodePalette.git
cd CodePalettenpm installCopy the .env.example file and create .env.local:
cp .env.example .env.localnpm run devThe application will be available at http://localhost:5173
- Frontend:
http://localhost:5173 - Backend API:
http://localhost:3000(if running separately)
# Start development server (Vite)
npm run dev
# Start backend API server (Node.js/Express)
npm start:api
# Run both frontend and backend simultaneously
npm run dev:all
# Build for production
npm run build
# Preview production build locally
npm run preview
# Run ESLint to check code quality
npm run lintThe contact form automatically sends emails to your inbox without opening a mail client.
-
Sign up for Resend (free):
- Go to https://resend.com
- Create a free account
- Verify your email domain (or use the free test domain)
-
Get your API Key:
- In Resend dashboard, go to "API Keys"
- Copy your key (starts with
re_)
-
Add Environment Variables:
- Open
.env.localin the project root - Replace
RESEND_API_KEYwith your actual API key - Replace
CONTACT_EMAILwith your email address
Example:
RESEND_API_KEY=re_abc123xyz789 CONTACT_EMAIL=creative.code.palette@gmail.com - Open
-
Test Locally:
- Run
npm run dev - Go to
/contactpage - Fill and submit the form
- Check your email inbox
- Run
- Frontend form:
/src/pages/Contact.jsx - Backend API:
/api/send-email.js(Vercel Function) - When user clicks "Send Message", data goes to Resend β arrives in your email
- No need to open email client!
Form not sending?
- Verify your API key is correct
- Check that
CONTACT_EMAILis set - Make sure backend server is running (
npm run dev:all) - Check browser console for error messages
Emails going to spam?
- Verify your domain in Resend dashboard
- Check spam/junk folder
- Use a branded domain instead of test domain
-
Connect Your Repository:
- Push your code to GitHub
- Go to vercel.com
- Import your CodePalette repository
-
Add Environment Variables:
- In Vercel Dashboard, go to your project settings
- Click "Environment Variables"
- Add the following:
RESEND_API_KEY = your_api_key_here CONTACT_EMAIL = your_email@example.com
-
Deploy:
- Click "Deploy"
- Vercel will automatically build and deploy your project
-
Automatic Deployments:
- Every push to
mainbranch triggers automatic deployment - Get a live URL immediately!
- Every push to
# Build for production
npm run build
# Deploy the 'dist' folder to your hosting providerContributions are welcome! Here's how to contribute:
- Fork the repository
- Create a feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
- Run
npm run lintbefore committing - Follow ESLint rules
- Use meaningful commit messages
- Keep components small and reusable
This project is open source and available under the MIT License. Feel free to use it for your own projects!
- π¬ Have questions? Check the GitHub Issues
- π Found a bug? Report it here
- π‘ Have a feature idea? Suggest it here
Made with β€οΈ by MariaZasypkina