Skip to content

Ndevu12/My-BRAND

Folders and files

NameName
Last commit message
Last commit date

Latest commit

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

Repository files navigation

NdevuSpace - Full Stack Developer Portfolio

NdevuSpace Logo

Modern Portfolio & Blog Platform

A comprehensive personal portfolio and blog website showcasing full-stack development expertise


πŸš€ Overview

NdevuSpace is a dual-architecture portfolio project featuring both a traditional HTML/CSS/JavaScript implementation and a modern Next.js application. This project demonstrates proficiency in multiple web development approaches, from vanilla JavaScript to modern React frameworks.

πŸ—οΈ Architecture

This repository contains two distinct implementations:

1. Traditional Web App (/src)

  • Frontend: HTML5, Tailwind CSS, Vanilla JavaScript
  • Architecture: Component-based modular structure
  • Styling: Tailwind CSS with custom components
  • Build System: Tailwind CLI with watch mode

2. Next.js Application (/my-brand-nextjs)

  • Framework: Next.js 15.1.5 with App Router
  • Frontend: React 19, TypeScript
  • Styling: Tailwind CSS with custom design system
  • State Management: React Context API
  • UI Components: Custom component library with Framer Motion
  • Icons: Lucide React
  • Performance: Built-in Next.js optimizations

✨ Features

Core Features

  • πŸ“± Responsive design (mobile-first approach)
  • πŸŒ™ Dark/Light theme support
  • πŸ“ Blog management system
  • πŸ’Ό Project portfolio showcase
  • πŸ“Š Admin dashboard
  • πŸ“§ Contact form integration
  • πŸ” Search functionality
  • πŸ“„ Rich text editor for content creation

Technical Features

  • ⚑ Server-side rendering (SSR) with Next.js
  • 🎨 Component-based architecture
  • πŸ”’ Type safety with TypeScript
  • πŸ“ Modular CSS with Tailwind
  • πŸš€ Performance optimized
  • πŸ”„ Hot module replacement
  • πŸ“± Progressive Web App ready

πŸ› οΈ Tech Stack

Frontend Technologies

  • Frameworks: Next.js 15, React 19
  • Languages: TypeScript, JavaScript ES6+
  • Styling: Tailwind CSS, CSS3
  • UI Libraries: Framer Motion, Lucide React
  • Build Tools: Next.js built-in bundler, Tailwind CLI

Development Tools

  • Package Manager: Yarn, npm
  • Linting: ESLint with Next.js config
  • Type Checking: TypeScript
  • Git Hooks: Husky (if configured)

πŸš€ Getting Started

Prerequisites

Before you begin, ensure you have the following installed:

  • Node.js (v18.0.0 or higher)
  • npm (v8.0.0 or higher) or Yarn (v1.22.0 or higher)
  • Git for version control

Installation & Setup

  1. Clone the repository

    git clone https://github.com/Ndevu12/My-BRAND.git
    cd My-BRAND
  2. Choose your implementation:

    For Traditional Web App:

    # Install dependencies
    npm install
    
    # Build Tailwind CSS
    npm run build
    
    # Start development server
    npm run dev
    
    # Open index.html in your browser
    open index.html

    For Next.js Application:

    # Navigate to Next.js app
    cd my-brand-nextjs
    
    # Install dependencies
    npm install
    # or
    yarn install
    
    # Start development server
    npm run dev
    # or
    yarn dev
    
    # Open http://localhost:3000 in your browser

Environment Variables

For the Next.js application, create a .env.local file in the my-brand-nextjs directory:

# Add your environment variables here
# NEXT_PUBLIC_API_URL=your_api_url_here
# DATABASE_URL=your_database_url_here

Note: Never commit sensitive credentials to version control.

πŸ“ Project Structure

My-BRAND/
β”œβ”€β”€ README.md                          # Project documentation
β”œβ”€β”€ package.json                       # Traditional app dependencies
β”œβ”€β”€ tailwind.config.js                 # Tailwind configuration
β”œβ”€β”€ index.html                         # Main landing page
β”œβ”€β”€ src/                               # Traditional web app source
β”‚   β”œβ”€β”€ components/                    # Reusable components
β”‚   β”œβ”€β”€ pages/                        # HTML pages
β”‚   β”œβ”€β”€ scripts/                      # JavaScript modules
β”‚   β”œβ”€β”€ styles/                       # CSS and Tailwind files
β”‚   β”œβ”€β”€ images/                       # Image assets
β”‚   └── utils/                        # Utility functions
└── my-brand-nextjs/                   # Next.js application
    β”œβ”€β”€ next.config.js                 # Next.js configuration
    β”œβ”€β”€ tailwind.config.ts            # Tailwind configuration
    β”œβ”€β”€ tsconfig.json                 # TypeScript configuration
    β”œβ”€β”€ src/
    β”‚   β”œβ”€β”€ app/                      # App Router pages
    β”‚   β”œβ”€β”€ components/               # React components
    β”‚   β”œβ”€β”€ contexts/                 # React contexts
    β”‚   β”œβ”€β”€ features/                 # Feature modules
    β”‚   β”œβ”€β”€ lib/                      # Utility libraries
    β”‚   β”œβ”€β”€ styles/                   # Global styles
    β”‚   └── types/                    # TypeScript definitions
    └── public/                       # Static assets

πŸ“ Usage Examples

Component Usage (Traditional)

// Using the pagination component
insertPagination('#blog-container', {
  currentPage: 1,
  totalPages: 10,
  onPageChange: function(page) {
    loadBlogPosts(page);
  }
});

Component Usage (Next.js)

import { ThemeProvider } from '@/contexts/ThemeContext';
import { DashboardLayout } from '@/features/dashboard';

export default function Dashboard() {
  return (
    <ThemeProvider>
      <DashboardLayout>
        {/* Your content */}
      </DashboardLayout>
    </ThemeProvider>
  );
}

πŸ”§ Available Scripts

Traditional App

  • npm run dev - Start development with Tailwind watch mode
  • npm run build - Build production CSS

Next.js App

  • npm run dev - Start development server with Turbopack
  • npm run build - Build production application
  • npm run start - Start production server
  • npm run lint - Run ESLint

🀝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.

Development Guidelines

  1. Follow the existing code style
  2. Write meaningful commit messages
  3. Add tests for new features
  4. Update documentation as needed

πŸ“„ License

This project is open source and available under the MIT License.

πŸ‘¨β€πŸ’» Author

Jean Paul Elisa Ndevu


⭐ If you like this project, please give it a star on GitHub! ⭐

Built with ❀️ by Ndevu