Skip to main content

Customization Guide

Learn how to customize colors, fonts, components, and add new features.

Theme Customization

Colors

Edit tailwind.config.js to change the color scheme:

Using Custom Colors

CSS Variables

For dynamic theming, use CSS variables in src/index.css:

Adding New Pages

Public Page

1

Create Component

Create src/pages/NewPage.jsx:
2

Add Route

In src/App.jsx:
3

Add to Navigation

Update menu settings in admin or edit Header.jsx

Admin Page

1

Create Component

Create src/pages/Admin/NewFeature/NewFeature.jsx:
2

Add Route

In src/App.jsx under admin routes:
3

Add to Sidebar

Edit src/pages/Admin/AdminLayout.jsx to add menu item

Adding New Collections

1. Create in Appwrite

  1. Go to Appwrite Console → Databases → portfolio_db
  2. Create new collection with attributes
  3. Set permissions

2. Create Service

3. Create Admin UI

Use existing admin pages as templates. Key patterns:

Adding Font Selector to New Pages

Customizing Rich Text Editor

Add New Toolbar Button

Edit src/components/RichTextEditor/RichTextEditor.jsx:

Add New Embed Type

Custom Components

Reusable Card Component

Loading Spinner

Environment-Specific Config

Adding Analytics

Google Analytics

Track Page Views

Best Practices

Keep components small and focused. If a component exceeds 200 lines, consider splitting it.
Use TypeScript for better type safety and IDE support in larger projects.
Create a constants.js file for magic strings and configuration values.
Never hardcode API keys or secrets. Always use environment variables.
Test thoroughly after customizations, especially database schema changes.