Portfolio

My personal protfolio. Have fun !!

Additional Documentation

For more details on the backend or frontend, see the associated readme.md files.

Feedback

Feedback are welcome! Feel free to open an issue or a pull request on the GitHub repository.

Tech Stack

Client: Bun, Astro, Svelte, TailwindCSS

Server: FastAPI (Python)

Hosting: backend: selfhost // Frontend: Vercel

Features

Chat with the AI and find out who I am, my background, the tools I'm proficient in, and much more. Feel free to ask any questions you may have. I've provided the AI with enough context about myself for it to be able to answer your questions and even provide useful links.

Operating Diagram

┌──────────────────────┐
│  Vercel              │ ← Frontend
│                      │
└──────────┬───────────┘
           │
           │ Call my API via the Internet
           │
           ▼
┌──────────────────────┐
│  Serveur             │ ← Backend that I host
│                      │
│  ┌────────────────┐  │
│  │ FastAPI      ◀──────── The API
│  │                │  │
│  └────────┬───────┘  │
│           ▼          │
│  ┌────────────────┐  │
│  │ Ollama       ◀──────── Local AI
│  │                │  │
│  └────────────────┘  │
└──────────────────────┘

Repository structure

Portfolio/
├── backend/
│   ├── .gitignore
│   ├── README.md
│   ├── main.py
│   └── requirements.txt
│
├── frontend/
│   ├── public/
│   │   ├── favicon.svg
│   │   └── quack.mp3
│   ├── src/
│   │   ├── assets/
│   │   │   ├── 404.webp
│   │   │   ├── duck.webp
│   │   │   └── hiw.webp
│   │   ├── components/
│   │   │   ├── ChatInput.svelte
│   │   │   └── ConversationView.svelte
│   │   ├── layouts/
│   │   │   └── Layout.astro
│   │   ├── pages/
│   │   │   ├── 404.astro
│   │   │   ├── chat.astro
│   │   │   ├── how-it-works.astro
│   │   │   └── index.astro
│   │   └── global.css
│   ├── .gitignore
│   ├── README.md
│   ├── astro.config.mjs
│   ├── bun.lock
│   ├── package.json
│   ├── svelte.config.js
│   └── tsconfig.json
│
├── .gitignore
├── LICENSE.md
└── README.md

Contributing

Contributions are always welcome! Here's how to download it and run it locally :

Run Locally

Prerequisites:

Clone the project

  git clone https://github.com/Gautierpicon/Portfolio

Go to the project directory

  cd Portfolio

Setup Frontend:

Install dependencies

  cd frontend
  bun install

Start the server

  bun run dev

Setup Backend:

Install dependencies

  cd backend
  python3 -m venv venv
  source venv/bin/activate
  pip install -r requirements.txt

Start the server

  uvicorn main:app --reload --port 8000

Environment Variables

To run this project, you will need to add the following environment variables:

PUBLIC_BACKEND_URL

To do this, create a file named “.env” in the “frontend” file with the following content:

  PUBLIC_BACKEND_URL=http://localhost:8000

Go to http://localhost:4321/ to use the website.

Top categories

Loading Svelte Themes