A modern, professional school website built with React, Tailwind CSS, and React Router.
This is the official website for Apeki Tumba Technical Secondary School located in Rulindo, Rwanda. The website provides comprehensive information about the school, admissions, academics, staff, student life, and more.
- Responsive Design - Works perfectly on all devices (mobile, tablet, desktop)
- Smooth Animations - Professional fade-in, slide-up effects throughout
- Real Images - Uses Unsplash API for high-quality educational images
- Modern UI - Clean, professional design with blue and white color scheme
- Fast Navigation - React Router for instant page transitions
- Contact Form - Functional contact form with validation
- SEO Optimized - Proper meta tags and semantic HTML
src/
├── components/ # Reusable components
│ ├── Navigation.jsx # Main navigation with mobile menu
│ ├── Footer.jsx # Footer with links and contact info
│ ├── PageHeader.jsx # Reusable page header with images
│ └── Card.jsx # Reusable card component
├── pages/ # Page components
│ ├── HomePage.jsx # Landing page with hero section
│ ├── AboutPage.jsx # About school, mission, vision
│ ├── AdmissionsPage.jsx # Admission process and fees
│ ├── AcademicsPage.jsx # Programs and curriculum
│ ├── StaffPage.jsx # Faculty directory
│ ├── StudentsPage.jsx # Student life and clubs
│ ├── NewsPage.jsx # News and events
│ ├── ContactPage.jsx # Contact form and info
│ ├── GalleryPage.jsx # Photo gallery
│ └── index.js # Page exports
├── App.jsx # Main app component with routing
├── main.jsx # App entry point
└── index.css # Global styles and animations
- Node.js (v16 or higher)
- npm or yarn
- Clone the repository
git clone <repository-url>
cd portfolio- Install dependencies
npm install- Start development server
npm run dev- Open your browser and visit
http://localhost:5173
- Contact Details - Edit
src/components/Footer.jsxandsrc/pages/ContactPage.jsx - School Name - Update in
src/components/Navigation.jsx - Staff Members - Modify the staff array in
src/pages/StaffPage.jsx - News Articles - Update the news array in
src/pages/NewsPage.jsx
All images use Unsplash URLs. To change an image, replace the URL with a new Unsplash image:
// Example
backgroundImage: `url(https://images.unsplash.com/photo-ID?w=1600&h=600&fit=crop)`The color scheme uses Tailwind CSS. Main colors:
- Primary:
blue-600,blue-800 - Background:
gray-50,white - Text:
gray-700,gray-800
- Home - Hero section, highlights, latest news
- About - School history, mission, vision, values
- Admissions - Process, requirements, fees, dates
- Academics - Programs, teaching approach, calendar
- Staff - Faculty directory with photos
- Students - Clubs, activities, achievements
- News - Latest news and upcoming events
- Contact - Contact form and school information
- Gallery - Photo gallery of school life
- React 19 - UI library
- React Router 7 - Client-side routing
- Tailwind CSS 3 - Utility-first CSS framework
- Vite - Build tool and dev server
- Unsplash - High-quality images
npm run buildThe build output will be in the dist/ directory.
This site can be deployed to:
- Netlify
- Vercel
- GitHub Pages
- Any static hosting service
© 2026 Apeki Tumba TSS. All rights reserved.
- Email: info@apekitumba.rw
- Phone: +250 XXX XXX XXX
- Location: Rulindo District, Rwanda