Thanks to visit codestin.com
Credit goes to github.com

Skip to content

DevJ2K/portfolio_v2

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

DevJ2K - Portfolio πŸ§‘β€πŸ’»

🌐 Available at: devj2k.com


This is the code repository for my personal portfolio website, devj2k.com. It showcases my projects, skills, and experiences in the field of software development.

Note

It was initially built with Nuxt(see nuxt version), then migrated to Next.js(see next version) for the frontend. The backend is powered by the Python framework FastAPI and uses Mistral models for AI functionalities.

Overview πŸ“Έ

Homepage Preview πŸ–ΌοΈ

Portfolio Thumbnail

AI Chatbot with RAG System πŸ€–

Portfolio Thumbnail

Stack πŸ› οΈ

Technologies Used

Explore the Different Parts of the Project

Installation & Usage πŸš€

Follow the steps below to set up and run the project locally:


1. Clone the repository

git clone https://github.com/DevJ2K/portfolio_v2.git && cd portfolio_v2

2. Ensure you have Docker installed on your machine.


3. Generate environment variable files

Run the following script to create the necessary .env files:

chmod +x ./env/create-env.sh && ./env/create-env.sh

4. Configure the environment variables

Fill in the generated .env files located in the env directory with these values:

.env-dev-backend:

MISTRAL_API_KEY=Your_Mistral_API_Key # https://console.mistral.ai/api-keys
MISTRAL_MODEL=Mistral_model_name # https://docs.mistral.ai/getting-started/models/models_overview (recommended: mistral-small-latest)
OLLAMA_MODEL=hf.co/bartowski/granite-embedding-107m-multilingual-GGUF
EMAIL_RECEIVER=
EMAIL_SENDER=
PASSWORD_SENDER=
API_KEY=J2K-PORTFOLIO-Backend-API-KEY
PROXY_STATUS=disabled
DISCORD_WEBHOOK_URL=

Notes:

The empty variables are optional and only used for the contact form feature.

MISTRAL_API_KEY, MISTRAL_MODEL and OLLAMA_MODEL are required for AI functionalities.

Don't change the default value of OLLAMA_MODEL.

API_KEY secures backend API endpoints when PROXY_STATUS is set to enabled.

.env-dev-frontend:

API_BASE_URL=http://backend:4000
API_KEY=J2K-PORTFOLIO-Backend-API-KEY

Note:

API_KEY must match the one defined in .env-dev-backend.

API_BASE_URL is the URL of the backend service.


5. Start the application

Use Docker Compose to build and run the application:

docker-compose -f docker-compose-dev.yml up -d backend frontend

You can check the logs of both services with:

docker-compose -f docker-compose-dev.yml logs -f

You can check if the services are ready by running:

Backend:

docker-compose -f docker-compose-dev.yml logs | grep 'Application startup complete' && echo True || echo False

Frontend:

docker-compose -f docker-compose-dev.yml logs | grep 'http://localhost:4000' && echo True || echo False

Once both commands return True, the application is ready.

  • The frontend will be accessible at http://localhost:4000.
  • The backend at http://localhost:4001. The automatic API documentation is available at http://localhost:4001/docs.

6. Stop the application

docker-compose -f docker-compose-dev.yml down

7. Clean up Docker resources

To remove all Docker resources (containers, images, volumes, and orphans) related to this project, run:

docker-compose -f docker-compose-dev.yml down --rmi all --volumes --remove-orphans

About

My portfolio, but the brand new version.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published