A modern React application built with Malaysia Design System (MyDS) components, featuring a government portal-style interface template with sample news, events, and quick links for reference.
- Modern Tech Stack: Built with React 19, TypeScript, and Vite
- Malaysia Design System: Integrated with
@govtechmy/myds-reactcomponents - Responsive Design: Styled with Tailwind CSS for mobile-first approach
- Template Content: Includes sample data structures for typical government portal sections
- Frontend Framework: React 19.1.1
- Build Tool: Vite 7.1.2
- Language: TypeScript 5.8.3
- Styling: Tailwind CSS 3.4.17
- Design System: MyDS React Components 1.0.0
- Linting: ESLint 9.33.0
-
Clone the repository
git clone <repository-url> cd myds-starter-kit
-
Install dependencies
npm install
-
Start development server
npm run dev
-
Open your browser Navigate to
http://localhost:5173
myds-starter-kit/
├── public/
│ └── assets/
│ └── homepage/ # Image assets for content
│ ├── siaran1-4.jpg # News item images
│ └── kalendar1-6.jpg # Calendar event images
├── src/
│ ├── assets/ # React components for assets
│ │ ├── backgroundLight.tsx
│ │ └── backgroundDark.tsx
│ ├── App.tsx # Main application component
│ ├── contentData.tsx # Data configuration for all content
│ ├── main.tsx # Application entry point
│ └── index.css # Global styles
├── package.json
├── tailwind.config.js
├── tsconfig.json
└── vite.config.ts
All content is centrally managed in src/contentData.tsx as template data for reference:
- Template: Sample government services and links
- Each item includes icon, title, and URL structure
- Uses MyDS icons (FlagIcon, MegaphoneIcon, DocumentIcon)
- Replace with your actual content and URLs
- Template: Sample news items with categories, dates, and images
- Includes example ministry information structure
- Image assets are placeholder examples in
public/assets/homepage/ - Customize with your actual news and announcements
- Template: Sample events and important dates
- Shows structure for day, date, title, and year
- Associated placeholder images for visual reference
- Update with your organization's actual events
- Template: Sample government website links
- All items feature the Jata Negara icon as example
- Links to official Malaysian government portals as reference
- Replace with your organization's relevant quick links
The application uses a combination of:
- Tailwind CSS for utility-first styling
- MyDS Components for consistent government branding
- Custom CSS in
index.cssfor global styles - Responsive Design with mobile-first approach
- Background gradients with light/dark themes
- Bordered content cards with rounded corners
- Consistent spacing and typography
- Government-appropriate color scheme
npm run dev- Start development servernpm run build- Build for productionnpm run lint- Run ESLintnpm run preview- Preview production build
Template images are organized in public/assets/homepage/ for reference:
- News Images:
siaran1.jpgtosiaran4.jpg(placeholder examples) - Calendar Images:
kalendar1.jpgtokalendar6.jpg(placeholder examples)
To customize with your own images:
- Replace placeholder images in
public/assets/homepage/ - Update the corresponding data in
src/contentData.tsx - Follow the naming convention:
[section][number].jpg - Note: Current images are just templates - replace with your actual content images
This project leverages Malaysia Design System components:
import {
DocumentIcon,
FlagIcon,
JataNegaraIcon,
MegaphoneIcon,
} from "@govtechmy/myds-react/icon";For more MyDS components and documentation, visit the official MyDS documentation.
-
Build the project
npm run build
-
Deploy the
distfolder to your preferred hosting service:- Vercel
- Netlify
- GitHub Pages
- AWS S3 + CloudFront
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
For questions and support:
- Check the MyDS Documentation
- Open an issue in this repository
- Contact the development team
Built with ❤️ using Malaysia Design System