Jean-Pierre Niyibizi - Geotechnical Engineer Portfolio
Professional portfolio and business website for Jean-Pierre Niyibizi, a Geotechnical Engineer and Africa Sustainability Advocate. The site features:
Jean-Pierre Niyibizi - Geotechnical Engineer Portfolio
Project Overview
Professional portfolio and business website for Jean-Pierre Niyibizi, a Geotechnical Engineer and Africa Sustainability Advocate. The site features:
- Dynamic content management system
- Blog and portfolio showcases
- Contact form for client inquiries
- Admin dashboard for content updates
- SQLite database (no external DB required)
Technical Stack
- Language: PHP 8.2.23
- Database: SQLite (file-based, portable)
- Frontend: Bootstrap 5, vanilla JavaScript
- Architecture: MVC-like pattern with routing
Project Structure
/
├── admin/ # Admin panel (login, dashboard, content management)
├── public/ # Public-facing website
│ ├── assets/ # Images, logos, static files
│ ├── partials/ # Reusable components (nav, footer, sections)
│ └── uploads/ # User-uploaded content
├── db.php # Database bootstrap & auto-seeding
├── db.sqlite # SQLite database file
└── router.php # Custom routing logic
Key Features
- Auto-initializing Database:
db.phpcreates and seeds the database on first run - Admin Dashboard: Located at
/adminwith full CRUD capabilities - Dynamic Sections: Content sections managed via database
- Security: CSRF protection, prepared statements, input sanitization
- Contact Form: Built-in with message storage
Development Setup (Replit)
The server runs on port 5000 using PHP's built-in server with custom routing:
php -S 0.0.0.0:5000 -t . router.php
Default Admin Credentials
- Username: admin
- Password: admin123
- Note: Change password immediately after first login via the dashboard
Recent Changes
-
2025-10-09 (Latest): Added Rich Text Editor and SEO Features
- Integrated TinyMCE rich text editor for blog posts and portfolio content
- Added SEO fields: URL slugs, meta descriptions, and meta keywords
- Implemented auto-slug generation from titles (URL-friendly)
- Redesigned admin dashboard with modal-based editing UI
- Enhanced blog posts and portfolio management with better UX
- Database migration: Added meta_description, meta_keywords, and slug columns to posts and portfolio tables
-
2025-10-09: Fresh GitHub import and Replit environment setup
- Verified PHP 8.2.23 is installed and working
- Configured workflow "Server" on port 5000 (0.0.0.0:5000) with router.php
- Added favicon.ico handler to router.php to serve logo.jpg as favicon
- Configured autoscale deployment for production
- Verified all pages work: homepage, blog, portfolio, admin login
- Confirmed database (db.sqlite) exists and is functional
- All static assets (images, CSS, JS) are loading correctly
Database Tables
users- Admin users and authenticationsettings- Site-wide configurationsections- Dynamic page sectionsmessages- Contact form submissionsposts- Blog postsportfolio- Portfolio projectsnewsletter_subscribers- Email subscriptionscontent_elements- Granular content management
Important URLs
- Homepage:
/or/public/index.php - Admin Login:
/admin/login.php - Admin Dashboard:
/admin/dashboard.php - Blog:
/public/blog.php - Portfolio:
/public/portfolio.php
User Preferences
None documented yet.
Notes
- No external dependencies (no Composer, no npm)
- Database auto-creates on first access
- Uploads directory has security rules via .htaccess
- All forms include CSRF protection
Related Documents
GOOBY - Closing Store Marketplace
A marketplace platform for discovering and purchasing inventory from closing retail stores, focused on the NY, NJ, CT, and PA areas.
Lua Code Obfuscator/Deobfuscator
This is a full-stack web application that provides Lua code obfuscation and deobfuscation services specifically designed for Roblox scripts. The application features a professional Monaco code editor with dual-pane interface, comprehensive obfuscation settings, and file upload/download functionality. Built with a modern React frontend and Node.js/Express backend.
GREEN NODE - Project Overview
Full-stack recycling platform connecting waste generators with verified collectors in Cochabamba, Bolivia.
ADN Systems DMR Peer Server
ADN Systems DMR Peer Server is a fork of FreeDMR, implementing a Digital Mobile Radio (DMR) network server. Launched in April 2024 by international amateur radio enthusiasts, it operates on an Open Bridge Protocol (OBP) fostering a decentralized network architecture. The system handles DMR voice and data communication, acting as a conference bridge/reflector that routes traffic between connected systems (repeaters, hotspots, peers) based on configurable bridge rules.