My personal protfolio. Have fun !!
For more details on the backend or frontend, see the associated readme.md files.
Feedback are welcome! Feel free to open an issue or a pull request on the GitHub repository.
Client: Bun, Astro, Svelte, TailwindCSS
Server: FastAPI (Python)
Hosting: backend: selfhost // Frontend: Vercel
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.
┌──────────────────────┐
│ Vercel │ ← Frontend
│ │
└──────────┬───────────┘
│
│ Call my API via the Internet
│
▼
┌──────────────────────┐
│ Serveur │ ← Backend that I host
│ │
│ ┌────────────────┐ │
│ │ FastAPI ◀──────── The API
│ │ │ │
│ └────────┬───────┘ │
│ ▼ │
│ ┌────────────────┐ │
│ │ Ollama ◀──────── Local AI
│ │ │ │
│ └────────────────┘ │
└──────────────────────┘
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
Contributions are always welcome! Here's how to download it and run it locally :
Clone the project
git clone https://github.com/Gautierpicon/Portfolio
Go to the project directory
cd Portfolio
Install dependencies
cd frontend
bun install
Start the server
bun run dev
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
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.