The Astro Portfolio uses Supabase as its backend for managing all dynamic content. This allows you to update your portfolio information without touching the code.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/Hazielgmz/astro-Portfolio/llms.txt
Use this file to discover all available pages before exploring further.
Setting Up Supabase
The portfolio connects to Supabase using environment variables:.env file for local development:
Database Tables
The portfolio uses several interconnected tables to manage content:About Me Table (about_me)
Stores your personal information and bio.
Fields:
name- Your full namebio- Your biography (supports markdown with**bold**syntax)profile_image- URL to your profile picture
- Use
\nin bio for paragraph breaks - Use
**text**for highlighted text (renders in yellow) - Profile image should be at least 400x400px for best quality
Projects Table (projects)
Manages your portfolio projects.
Fields:
id- Unique identifiertitle- Project namedescription- Project descriptionimage- Project screenshot URLcodeLink- GitHub repository URLPreviewLink- Live demo URLvisible- Boolean to show/hide projectcreated_at- Timestamp (used for ordering)
- Use high-quality project screenshots (recommended: 800x600px)
- Keep descriptions concise (2-3 sentences)
- Set
visibletofalsefor draft projects - Link tools to projects for automatic badge display
Career Table (careers)
Tracks your work experience timeline.
Fields:
id- Unique identifierposition- Job titlecompany- Company namedescription- Job responsibilities and achievementscontact- Optional contact emailperiod- Time period (e.g., “2020 - 2023”)visible- Boolean to show/hide entrycreated_at- Timestampupdated_at- Timestamp
- Order by most recent first
- Keep descriptions focused on achievements
- Use specific time periods for clarity
Tools Table (tools)
Manages technologies and tools you use.
Fields:
id- Unique identifiername- Tool/technology nametype- Category:Frontend,Backend,Database, orFrameworkicon- URL to tool icon/logovisible- Boolean to show/hide tool
Certificates Table (certificates)
Stores your certifications and credentials.
Fields:
id- Unique identifiertitle- Certificate nameissuer- Issuing organizationtype- Certificate categorydate- Issue datecertificate_url- Link to certificatevisible- Boolean to show/hide certificate
Relationship Tables
Project-Tool Relationship (project_tool)
Links projects to the tools used in them.
Fields:
project_id- Reference to projects tabletool_id- Reference to tools table
- Tools are fetched from the tools table
- Project-tool relationships are queried
- Tools are matched to each project by ID
- Tool badges are displayed on project cards
Certificate-Tool Relationship (certificate_tool)
Links certificates to specific tools/technologies.
Fields:
certificate_id- Reference to certificates tabletool_id- Reference to tools table
- Tools with linked certificates show a yellow pulse indicator
- Clicking the tool opens a modal displaying related certificates and projects
Content Management Workflow
Adding a New Project
-
Insert project record:
-
Link tools to the project:
- The project will automatically appear on your portfolio with the correct tool badges.
Updating Your Bio
- Go to your Supabase dashboard
- Navigate to the
about_metable - Edit the
biofield: - Changes appear immediately on your site
Managing Visibility
All main tables have avisible field for easy content management:
- Set
visible = falseto hide items without deleting them - Perfect for:
- Draft projects
- Seasonal content
- A/B testing different versions
- Temporarily hiding outdated information
Adding Tools and Certifications
-
Add a tool:
-
Add a certification:
-
Link them together:
- Now clicking on React in your tools section will show the certification!
Data Validation
The application includes basic error handling:- Always set required fields (title, name, etc.)
- Use valid URLs for images and links
- Test links before publishing
- Keep backup exports of your Supabase data
Content Organization Tips
- Consistent Naming: Use consistent capitalization for tool names
- Image Strategy: Host images on a CDN or Supabase Storage for best performance
- Regular Updates: Keep your career timeline and projects current
- Quality Over Quantity: 3-5 strong projects are better than 20 mediocre ones
- Link Related Content: Use the relationship tables to create rich connections
Next Steps
- Learn how to customize the visual appearance in Theming
- Deploy your portfolio with Deployment Guide