Skip to content

PedrFelip/portfolio

Repository files navigation

Portfolio Backend V2

A modern backend portfolio built with Next.js, Bun, TypeScript, Tailwind CSS, and shadcn/ui.

Tech Stack

  • Runtime: Bun - Fast JavaScript runtime
  • Framework: Next.js 16 - React fullstack framework
  • Language: TypeScript - Type-safe JavaScript
  • Styling: Tailwind CSS 4 - Utility-first CSS
  • UI Components: shadcn/ui - Reusable React components
  • Code Quality: Biome - Fast linter & formatter

Quick Start

Prerequisites

  • Bun installed (v1.0+)

Installation

bun install

Development

bun dev

Open http://localhost:3000 to view the site.

Build for Production

bun build
bun start

Scripts

# Development
bun dev                    # Start dev server

# Building
bun build                  # Build for production
bun start                  # Start production server

# Code Quality
bun lint                   # Check code with Biome
bun lint:fix              # Auto-fix linting issues
bun format                # Format code with Biome

# Testing
bun test                  # Run all tests
bun test --watch         # Run tests in watch mode
bun test app/lib/helpers.test.ts  # Run specific test file

Project Structure

app/
├── api/                  # API routes (dynamic routes)
├── components/           # React components
├── lib/                  # Utility functions & helpers
├── types/                # TypeScript types & interfaces
├── layout.tsx            # Root layout component
└── page.tsx              # Home page

public/                   # Static assets

Key Features

  • ✅ Full TypeScript support
  • ✅ API routes with Next.js
  • ✅ Tailwind CSS for styling
  • ✅ shadcn/ui components ready to use
  • ✅ Biome for code formatting & linting
  • ✅ Git initialized with Biome pre-commit checks
  • ✅ Unit tests with Bun test runner

Code Style

This project follows strict code style guidelines enforced by Biome:

  • Indentation: 2 spaces
  • Quotes: Single quotes
  • Semicolons: Always
  • Trailing commas: All multi-line structures
  • Line length: 100 characters (configurable)

See AGENTS.md for detailed development guidelines.

API Routes

GET /api/projects

Returns a list of portfolio projects.

curl http://localhost:3000/api/projects

Response:

{
  "data": [
    {
      "id": "1",
      "title": "Portfolio Backend",
      "description": "A modern backend portfolio...",
      "technologies": ["Next.js", "TypeScript", "Tailwind CSS"],
      "createdAt": "2025-01-13T00:00:00.000Z"
    }
  ],
  "success": true
}

Resources

License

MIT

About

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published