A modern, responsive portfolio website showcasing web development skills and projects. Built with React, Vite, and Tailwind CSS to demonstrate expertise in full-stack development, UI/UX design, and modern web technologies. This personal portfolio serves as a professional online presence and platform to display completed projects.
myWebsite/
βββ src/ # Source code aplikasi React
β βββ component/ # Komponen React reusable (navbar, hero, about, portfolio, dll)
β βββ assets/ # Media files (gambar, SVG, dan aset visual lainnya)
β βββ lib/ # Utilities dan library configurations (Supabase client)
β βββ App.jsx, main.jsx, *.css # Entry point dan styling global
βββ public/ # Aset statis yang dilayani langsung ke browser
βββ supabase/ # Supabase configuration dan edge functions
βββ Root configs # Vite, Tailwind, ESLint, Docker, dan package configs
- Node.js v18 or higher - Download here
- npm v9+ or yarn v3+
- Git - Download here
- Docker (optional) - Download here
-
Clone the Repository
git clone https://github.com/Kresnananta/myWebsite.git cd myWebsite -
Install Dependencies
npm install
-
Configure Environment Variables
Create a.envfile in the root directory:VITE_SUPABASE_URL=your_supabase_project_url VITE_SUPABASE_ANON_KEY=your_supabase_anon_key -
Run Development Server
npm run dev
Login to Supabase and run the following query to create the table:
CREATE TABLE contacts (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100), email VARCHAR(100),
subject VARCHAR(200), message TEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
CREATE TABLE projects (
id INT AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(255) NOT NULL,
description TEXT,
tags VARCHAR(255),
image_url TEXT,
live_demo VARCHAR(255),
source_code VARCHAR(255),
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);- Smooth & modern UI with interactive components
- Fully responsive design (mobile, tablet, desktop)
- Dark mode toggle
- Database for storing projects & contact form responses
- Telegram notifications for contact form submissions
- SEO optimized with proper metadata
| Command | Description |
|---|---|
npm run dev |
Start development server with HMR |
npm run build |
Build optimized production bundle in dist/ |
npm run preview |
Preview the production build locally |
| Command | Description |
|---|---|
npx supabase functions serve |
Test Edge Functions locally |
npx supabase functions deploy telegram-notify |
Deploy function to Supabase Cloud |
npx supabase secrets list |
List all secrets stored in Cloud |
npx supabase secrets set KEY=VALUE |
Set sensitive env vars (e.g. Telegram Token) |
| Command | Description |
|---|---|
docker-compose restart backend |
Restart node.js server after changes |
docker logs -f web_porto_backend |
Monitor backend logs |
docker logs -f web_porto_frontend |
Monitor frontend logs |
| """ |
This project is a personal portfolio and is available for educational purposes.
For inquiries or collaboration opportunities, feel free to reach out through the contact form on the website.
Last Updated: March 2026
Status: Production
Version: 1.0.0 (Stable Release)
