Skip to content

Commit

Permalink
refactor: remove Supabase, update Next.js, and fix image config
Browse files Browse the repository at this point in the history
  • Loading branch information
while-basic committed Jan 15, 2025
1 parent d691907 commit 1854857
Show file tree
Hide file tree
Showing 50 changed files with 327 additions and 4,051 deletions.
4 changes: 0 additions & 4 deletions .env.example
Original file line number Diff line number Diff line change
@@ -1,7 +1,3 @@
# Supabase
NEXT_PUBLIC_SUPABASE_URL=
NEXT_PUBLIC_SUPABASE_ANON_KEY=
NEXT_PUBLIC_SUPABASE_SERVICE_ROLE=
# OpenAI
OPENAI_API_KEY=

Expand Down
2 changes: 1 addition & 1 deletion .eslintrc.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
{
"extends": ["next/core-web-vitals", "next/typescript"]
"extends": ["next/core-web-vitals"]
}
268 changes: 4 additions & 264 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,28 +1,3 @@
# Todo List
- [ ] Integrate bitcoin price api
- [ ] curl --location 'https://api.coindesk.com/v1/bpi/currentprice.json'
- [ ] add web3 login
- [ ] interactive art gallery where users can share their creations, uploads, and view others' work
- [ ] add a comments section for images
- [ ] use vercel ai sdk for chat and streaming
- [ ] add a chatbot for signed-in users
- [ ] add a dashboard for signed-in users (in progress)
- [ ] add a secret audio page
- [ ] add a resume page with ai podcast clips
- [ ] add daily ai tip or fact dialog alert when user signs in
- [ ] include token usage metrics in dashboard
- [ ] total conversations
- [ ] total characters generated
- [ ] total generations
- [ ] total cost
- [ ] remaining monthly quota
- [ ] show graphs or progress bars for better visualization
- [ ] add gallery for generated images to navlinks
- [ ] add shortcuts for frequently used tools
- [ ] Start a New Chat
- [ ] Generate an Image


# Christopher Celaya Portfolio

A modern, responsive portfolio website built with Next.js 14, Tailwind CSS, and shadcn/ui.
Expand Down Expand Up @@ -113,253 +88,18 @@ The workflow checks:
- ESLint linting
- Next.js build process

## Personalizing Your Portfolio

After forking this repository, you'll need to update various files with your personal information. Here's a comprehensive guide based on the actual project structure:

### 1. Core Components
- **Navbar** (`/components/navbar.tsx`)
- Update navigation links
- Modify logo and branding
- Customize menu items

- **Hero Section** (`/components/hero.tsx`)
- Update main headline
- Modify tagline and description
- Change call-to-action buttons

- **Layout** (`/app/layout.tsx`)
- Update metadata and SEO settings
- Modify default page structure
- Customize loading screen

### 2. Main Pages
- **Home Page** (`/app/page.tsx`)
- Update hero content
- Modify featured projects
- Customize welcome message

- **About Page** (`/app/about/page.tsx`)
- Update biography
- Modify personal story
- Add professional background

- **Projects** (`/app/projects/page.tsx`)
- Update project cards (`/components/project-card.tsx`)
- Add your own projects
- Customize project descriptions

- **Experience** (`/app/experience/page.tsx`)
- Update work history (`/components/experience-card.tsx`)
- Add education details (`/components/education-card.tsx`)
- Modify role descriptions

### 3. Skills and Expertise
- **Skills Page** (`/app/skills/page.tsx`)
- Update skill sections (`/components/skills-section.tsx`)
- Modify skill cards (`/components/skill-card.tsx`)
- Customize tag cloud (`/components/skills-tag-cloud.tsx`)

### 4. Interactive Features
- **Gallery** (`/app/gallery/page.tsx`)
- Update gallery items (`/components/gallery-item.tsx`)
- Modify filters (`/components/gallery-filter.tsx`)
- Add your own images

- **Chat** (`/app/chat/page.tsx`)
- Customize chat interface
- Update AI settings
- Modify authentication requirements

- **Audio** (`/app/audio/page.tsx`)
- Add your audio content
- Update audio player settings
- Customize audio descriptions

### 5. Professional Content
- **Resume** (`/app/resume/page.tsx`)
- Update resume content
- Add professional experience
- Upload new resume PDF

- **Case Studies** (`/app/case-studies/page.tsx`)
- Add detailed project analyses
- Include project outcomes
- Update metrics and results

### 6. Blog (in-progress)
- **Blog Posts** (`/app/blog/`)
- Add your own posts
- Update blog layout
- Customize categories

### 7. Dashboard (in-progress)
- **Dashboard** (`/app/dashboard/page.tsx`)
[ ] Fix visitor counter
[ ] Choose analytics
[ ] Responsive on desktop
[ ] Reponsive on mobile
[ ] Connect all metrics to Supabase
[ ] Add sidebar with relevant options

### 7. Environment Variables
## Environment Variables
Create a `.env.local` file with these variables:
```bash
# Authentication
NEXTAUTH_URL=http://localhost:3000
NEXTAUTH_SECRET=your-secret-key

# OpenAI (for Chat Feature)
OPENAI_API_KEY=your-openai-key

# Supabase
NEXT_PUBLIC_SUPABASE_URL=your-supabase-url
NEXT_PUBLIC_SUPABASE_ANON_KEY=your-supabase-key

# Email (for Contact Form)
RESEND_API_KEY=your-resend-key
```

### 8. Assets and Media
- **Public Directory** (`/public/`)
- Replace profile images
- Update project screenshots
- Add custom icons and media
- Update resume PDF
- Modify audio files

### 9. UI Components
- **Custom Components** (`/components/ui/`)
- Customize button styles
- Update card designs
- Modify form elements
- Adjust animations

### 10. Additional Features
- **Dashboard** (`/app/dashboard/page.tsx`)
- Configure visitor counter
- Set up analytics
- Customize admin features

Remember to:
1. Test all changes locally using `npm run dev`
2. Verify responsive design on multiple devices
3. Check all links and media work correctly
4. Update SEO metadata for all pages
5. Remove placeholder content

## Todo List

This list is prioritized from highest to lowest priority. It is regularly updated to reflect current progress and new requirements.

### Completed Tasks
- [x] Initial setup and core features
- [x] Navigation and layout
- [x] Center navlinks
- [x] Navigation bar
- [x] Add breadcrumbs
- [x] Add footer to home page
- [x] Make site responsive on mobile
- [x] Add loading screen
- [x] Content sections
- [x] About section
- [x] Projects section
- [x] Skills section
- [x] Experience section
- [x] Gallery section
- [x] Education section
- [x] Blog section
- [x] Case studies
- [x] Interactive features
- [x] Make project tiles clickable
- [x] Add animations
- [x] Create secret audio page
- [x] Add resume page with podcast clips
- [x] Chat functionality
- [x] Implement chatbot for signed-in users
- [x] Add notice about chat for signed-in users only
- [x] Add estimated cost to chat
- [x] Add total cost for chat
- [x] Remove right sidebar from chat
- [x] Documentation and testing
- [x] Add unit tests
- [x] Add SEO
- [x] Update README.md
- [x] Update all pages with personal information

### High Priority Tasks
- [ ] Authentication and User Experience
- [ ] Chat modes should not work when not signed in
- [ ] Make profile data persistent
- [ ] Ability to delete conversations
- [ ] Fix light/dark modes
- [ ] Add social media links
- [ ] Create contact form with Resend email

- [ ] Chat Improvements
- [ ] Make chat responsive on mobile
- [ ] Add avatars to chat interface
- [ ] Implement streaming support
- [ ] Add scroll to latest message
- [ ] Add realtime capabilities
- [ ] Add cost for audio generation
- [ ] Add color code start/stop for recording

- [ ] Analytics and Dashboard
- [ ] Add visitor counter
- [ ] Add total messages sent/received counter
- [ ] Add total users registered counter
- [ ] Add total message count

### Medium Priority Tasks
- [ ] Chat Features
- [ ] Implement different AI models
- [ ] ChatGPT
- [ ] Claude
- [ ] Llama
- [ ] Gemini
- [ ] Add support for voice chat
- [ ] Add gallery for generated images
- [ ] Collapsible sidebars

- [ ] Content Management
- [ ] Add resume download functionality
- [ ] Develop comprehensive audio page
- [ ] Add option to download audio

### Future Enhancements
- [ ] Performance Optimizations
- [ ] Optimize chat performance
- [ ] Optimize performance for large datasets
- [ ] Implement advanced search functionality

- [ ] Advanced Features
- [ ] Add multimodal support
- [ ] Vision capabilities
- [ ] File upload support
- [ ] Integrate with additional third-party services
- [ ] Implement user feedback system
- [ ] Add interactive tutorials

### Projects to Add
- [ ] AI/ML Projects
- [ ] Medchat
- [ ] Law-GPT
- [ ] Amica Medical Doctor
- [ ] Natural Language Translator
- [ ] Langchain Agents
- [ ] AI Assistant
- [ ] Custom GPT
- [ ] Groq Chat

- [ ] Creative Projects
- [ ] 3D Blender Animation
- [ ] Unreal Engine 5 Game Environment
- [ ] Unity Game Environment

- [ ] Web3 Projects
- [ ] Blockchain TLD Service
- [ ] Ensemble
# Site URL
NEXT_PUBLIC_SITE_URL=http://localhost:3000
```

## License

Expand Down
17 changes: 1 addition & 16 deletions app/ai-editor/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
import { Suspense } from 'react';
import dynamic from 'next/dynamic';
import { useRouter } from 'next/navigation';
import { useAuth } from '@/lib/auth-context';
import { Button } from "@/components/ui/button";
import {
DropdownMenu,
Expand All @@ -30,20 +29,6 @@ const Editor = dynamic(

export default function AIEditorPage() {
const router = useRouter();
const { user, session, loading } = useAuth();

if (loading) {
return (
<div className="flex items-center justify-center min-h-screen">
<div className="animate-spin rounded-full h-32 w-32 border-t-2 border-b-2 border-black dark:border-white"></div>
</div>
);
}

if (!session || !user) {
router.push('/login');
return null;
}

return (
<div className="min-h-screen bg-white dark:bg-black">
Expand Down Expand Up @@ -105,7 +90,7 @@ export default function AIEditorPage() {
</div>
</div>
}>
<Editor user={user} session={session} />
<Editor />
</Suspense>
</div>
</div>
Expand Down
30 changes: 0 additions & 30 deletions app/api/admin/check-auth/route.ts

This file was deleted.

Loading

0 comments on commit 1854857

Please sign in to comment.