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.
This repository contains two distinct implementations:
- Frontend: HTML5, Tailwind CSS, Vanilla JavaScript
- Architecture: Component-based modular structure
- Styling: Tailwind CSS with custom components
- Build System: Tailwind CLI with watch mode
- 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
- π± 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
- β‘ 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
- 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
- Package Manager: Yarn, npm
- Linting: ESLint with Next.js config
- Type Checking: TypeScript
- Git Hooks: Husky (if configured)
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
-
Clone the repository
git clone https://github.com/Ndevu12/My-BRAND.git cd My-BRAND -
Choose your implementation:
# 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
# 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
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_hereNote: Never commit sensitive credentials to version control.
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
// Using the pagination component
insertPagination('#blog-container', {
currentPage: 1,
totalPages: 10,
onPageChange: function(page) {
loadBlogPosts(page);
}
});import { ThemeProvider } from '@/contexts/ThemeContext';
import { DashboardLayout } from '@/features/dashboard';
export default function Dashboard() {
return (
<ThemeProvider>
<DashboardLayout>
{/* Your content */}
</DashboardLayout>
</ThemeProvider>
);
}npm run dev- Start development with Tailwind watch modenpm run build- Build production CSS
npm run dev- Start development server with Turbopacknpm run build- Build production applicationnpm run start- Start production servernpm run lint- Run ESLint
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.
- Follow the existing code style
- Write meaningful commit messages
- Add tests for new features
- Update documentation as needed
This project is open source and available under the MIT License.
Jean Paul Elisa Ndevu
- Portfolio: ndevuspace.com
- LinkedIn: jean-paul-elisa
- GitHub: @Ndevu12
β If you like this project, please give it a star on GitHub! β
Built with β€οΈ by Ndevu
