Skip to content

Strange500/nextPortfolio

Repository files navigation

My Portfolio

Welcome to my portfolio! This project is built with React and Next.js, showcasing my skills and projects.

Table of Contents

About

1743020726_grim.png

This portfolio is a representation of my work and abilities as a developer. It includes a collection of projects that highlight my skills and experiences. You can find information about my experiences, a list of the technologies I work with, and links to my projects.

Features

  • Responsive design that works on mobile and desktop
  • Smooth navigation between sections
  • Interactive project showcase with detailed descriptions

Technologies Used

  • Next.js - A React framework for building server-side rendered applications
  • React - A JavaScript library for building user interfaces
  • CSS Modules - For styling components
  • Node.js - For the server-side
  • My home server - For hosting the portfolio

Getting Started

To get a local copy of this portfolio up and running, follow these steps:

  1. Clone the repository:
    git clone https://github.com/Strange500/nextPortfolio.git
    cd nextPortfolio
  2. Install the dependencies:
     npm install
  3. Run the development server:
     npm run dev
  4. Open http://localhost:3000 in your browser

Configuration

Custom Projects Data File

By default, project information is loaded from data/projects.json. You can specify a custom projects file using the PROJECTS_FILE_PATH environment variable:

# Use a custom projects file
PROJECTS_FILE_PATH=path/to/your/projects.json npm run build

# Or in development
PROJECTS_FILE_PATH=path/to/your/projects.json npm run dev

The projects JSON file should follow this structure:

[
  {
    "order": 1,
    "title": "Project Name",
    "description": "Project description",
    "tags": ["Tag1", "Tag2"],
    "links": ["https://github.com/user/repo"],
    "readme": "https://raw.githubusercontent.com/user/repo/main/README.md"
  }
]

Path Support: The PROJECTS_FILE_PATH environment variable supports both relative and absolute paths:

  • Relative paths (e.g., custom/projects.json) are resolved from the project root
  • Absolute paths (e.g., /opt/data/projects.json) allow loading files from anywhere on the system

Error Handling: If the specified file doesn't exist, contains invalid JSON, or is empty, the application will gracefully fall back to the default projects (same as data/projects.json) and log appropriate error messages. This ensures the portfolio always displays content even when custom project files have issues.

Deployment with Docker

To deploy this portfolio with Docker, follow these steps:

  1. Build the Docker image:
    docker build -t next-portfolio .
  2. Run the Docker container:
     docker run -d -p 3000:3000 next-portfolio
  3. Open http://localhost:3000 in your browser

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •