Skip to content

Eylexander/portfolio

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

66 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Eylexander's Portfolio

Next.js Go TypeScript TailwindCSS MongoDB Docker

My personal portfolio website and blog. Contains a Next.js frontend and a Go backend with MongoDB.

Features

  • Custom Design: Boids canvas simulation background, Tailwind styling, and Framer Motion animations.
  • Admin Panel: Backend interface to write/edit markdown articles, trigger database backups, and manage website settings.
  • Articles & Projects: Markdown-supported articles with math rendering (KaTeX) and syntax highlighting.
  • Internationalization (i18n): English and French translation routing (next-intl), with an Ollama backend integration to auto-translate content between locales.
  • Contact & Notifications: Contact form integrated with Gotify for instant push notifications to my devices.

Tech Stack

  • Frontend: Next.js 15, TypeScript, TailwindCSS, Framer Motion, Zustand
  • Backend: Go 1.25, Gin, MongoDB, JWT auth, Resty
  • Infrastructure: Docker, Docker Compose, Nginx

Quick Start

Development

You can run the environment using Docker Compose:

# Start MongoDB, Frontend, and Backend
echo "NEXT_PUBLIC_API_URL=http://localhost:8000" > frontend/.env
docker compose -f docker/docker-compose.yml up -d

Or you can run the components manually:

Frontend:

cd frontend
pnpm install
echo "NEXT_PUBLIC_API_URL=http://localhost:8000" > .env
pnpm run dev

Accessible at http://localhost:3000.

Backend:

cd backend
go mod tidy
go run src/cmd/main.go

Accessible at http://localhost:8000. Make sure to have a MongoDB instance running and .env configured with the right credentials.

Deployment

The system is fully containerized. A build.sh script is provided to simplify image building:

# Build the production docker images
./build.sh

# Run via production compose file
docker compose -f docker/docker-compose.prod.yml up -d

This starts the Next.js frontend, Go API, MongoDB, and an Nginx reverse proxy.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors