A full-stack web application showcasing a Kenyan university student's capstone project requirements.
- Name: Florence Ndemi
- University: Dedan Kimathi University of Technology
- Program: Bachelor of Science in Information Technology
- Year: 2025
- Location: Nyeri County, Kenya
- Multilingual Resume - English, Kiswahili, Kikuyu
- Autobiographical Essay - 25 pages with presentation
- Innovation Presentation - Blockchain Technology for Secure Digital Transactions
- African Culture Presentation - Ubuntu Philosophy & Gender Equality
- Modern Challenges - Digital Divide Solutions
- Photographic Essay - Digital Transformation in Kenya
- Social Media Portfolio - 7 professional platforms
- Website Portfolio - Full-stack application
- Framework: NestJS with TypeScript
- Database: MongoDB with Mongoose
- File Upload: Multer for media handling
- API: RESTful endpoints with validation
- Framework: React 18 with React Router
- Styling: Styled Components with responsive design
- Media: React Player for video content
- State Management: React Hooks
- Node.js 16+
- npm or yarn
- Clone and install dependencies
git clone <repository-url>
cd igs
npm run install:all- Start development servers
npm run devThis starts:
- Backend: http://localhost:3001
- Frontend: http://localhost:3000
Backend only:
cd backend
npm install
npm run start:devFrontend only:
cd frontend
npm install
npm startigs/
├── backend/ # NestJS API server
│ ├── src/
│ │ ├── schemas/ # MongoDB schemas
│ │ ├── modules/ # Feature modules
│ │ └── main.ts # Application entry
│ └── uploads/ # File storage
├── frontend/ # React application
│ ├── src/
│ │ ├── components/ # Reusable components
│ │ ├── pages/ # Route components
│ │ ├── services/ # API services
│ │ └── styles/ # Styled components
│ └── public/
└── package.json # Workspace configuration
- English, Kiswahili, and Kikuyu translations
- Dynamic language switching
- Culturally appropriate content
- Mobile-first approach
- Tablet and desktop optimization
- Touch-friendly interfaces
- Video presentations with React Player
- Photo galleries with lightbox
- File upload and management
- Dynamic content loading from database
- RESTful API for all data operations
- Automatic content seeding
GET /api/profile/:language- Get profile by languagePOST /api/profile- Create new profilePUT /api/profile/:id- Update profile
GET /api/content?type=:type&language=:language- Get contentPOST /api/content- Create contentGET /api/content/:id- Get specific content
GET /api/media?type=:type- Get media filesPOST /api/media/upload- Upload filesPOST /api/media/social- Add social media links
The application includes comprehensive sample data:
- Complete resume in 3 languages
- Professional experience and skills
- Educational background
- Contact information
- 25-page autobiographical essay
- Innovation presentation content
- Cultural analysis with gender focus
- Modern challenges and solutions
- 8 photographic essay images
- 7 social media platform links
- Video presentation placeholders
npm run buildCreate .env files for configuration:
Backend (.env)
MONGODB_URI=your_mongodb_connection_string
PORT=3001
Frontend (.env)
REACT_APP_API_URL=http://localhost:3001/api
- Update schema definitions in
backend/src/schemas/ - Create/update service methods
- Add API endpoints in controllers
- Update frontend components and services
- Add translations in service files
- Update language selector component
- Ensure all content supports new languages
- Files stored in
backend/uploads/ - Supported formats: images, videos, documents
- 100MB file size limit
- Up-to-date resume (3 languages)
- Autobiographical essay (20-30 pages)
- PowerPoint presentations (4 total)
- Video presentations (3 × 20 minutes)
- Abstracts (3 languages each)
- Photographic essay
- Social media portfolio (5+ platforms)
- Professional website
- Cultural awareness content
- Gender equality discussion
- Innovation showcase
- Modern challenges solutions
This project is created for academic purposes as part of a university capstone requirement.
Florence Ndemi
- Email: your.email@example.com
- LinkedIn: linkedin.com/in/florence-ndemi
- University: Dedan Kimathi University of Technology, Information Technology Department
- Location: Nyeri County, Kenya