Skip to content

HopeKumar/BusinessOS-Portfolio

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BusinessOS Portfolio — Production Backend & Frontend Integration

This repository hosts a fully dynamic, production-ready portfolio application. The Next.js frontend connects directly to a modular Java 17 & Spring Boot 3.x backend powered by MongoDB.

Features

  • Centralized API Client: Next.js client (src/lib/api.ts) fetches projects, case studies, skills, settings, process steps, and timeline milestones dynamically from the backend.
  • Fail-safe Offline Fallback: If the backend is offline, the frontend automatically falls back to static mock data, guaranteeing 100% uptime.
  • MongoDB Atlas Integration: Automated data seeding of all database collections on the first startup.
  • JWT Admin Panel Security: Secured REST endpoints supporting full CRUD operations.
  • Aggregated Analytics & Search: Light tracking of visitor actions and ranked keyword scoring search query.

Directory Structure

  • /backend: Spring Boot Maven project (Java 17 / Spring Boot 3.x).
  • /src: Next.js App Router frontend codebase.

1. Backend Setup (Java / Spring Boot)

Prerequisites

  • Java Development Kit (JDK): Version 17 or higher.
  • Apache Maven: Build tool.
  • MongoDB: Local MongoDB instance (mongodb://localhost:27017) or MongoDB Atlas URI.

Required Environment Variables

You can configure the following environment variables (or let them fallback to default values in application.yml):

  • MONGODB_URI: The MongoDB connection string (Default: mongodb://localhost:27017/businessos).
  • JWT_SECRET: Secret key for signing JWT tokens (Default: A pre-configured cryptographically secure key).
  • ADMIN_USERNAME: Default administrator username (Default: admin).
  • ADMIN_PASSWORD: Default administrator password (Default: admin123).

Run Backend

  1. Navigate to /backend:
    cd backend
  2. Build and compile:
    mvn clean compile
  3. Run the Spring Boot application:
    mvn spring-boot:run
    Note: On the first startup, DataSeedRunner will automatically populate MongoDB with default projects, case studies, skill categories, and timeline milestones.

Swagger OpenAPI Docs

Once the backend runs, you can query and audit the REST APIs interactively at:


2. Frontend Setup (Next.js)

Prerequisites

  • Node.js: Version 18 or higher.
  • npm or yarn package manager.

Required Environment Variables

Configure the backend connection in your environment variables:

  • NEXT_PUBLIC_API_URL: Path to the Spring Boot REST endpoints (Default: http://localhost:8080/api).

Run Frontend

  1. Install dependencies:
    npm install
  2. Launch Next.js in development mode:
    npm run dev
    The website runs on http://localhost:3000.

About

a small test website for portfolio marketing

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors