A modern, responsive blog management portal built for Google Developer Groups On Campus - MIT (Madras Institute of Technology, Anna University Chennai). This client-side application showcases cutting-edge technology insights, tutorials, and innovations from the developer community.
- Home Page: Hero section with featured blogs and recent posts
- Featured Blogs: Handpicked content from community experts
- All Blogs Page: Complete blog collection with search and filtering
- Contact Page: Community engagement and contact information
- Responsive Design: Optimized for all devices
- Google Material Design: Clean, modern UI following Google's design principles
- Client-Side Only: No backend required, perfect for GitHub Pages deployment
- Framework: React.js 18+ with Vite
- Routing: React Router DOM
- Icons: Lucide React (Google-style icons)
- Styling: CSS with Google Material Design principles
- Date Handling: date-fns
- Deployment: GitHub Pages
-
Clone the repository:
git clone https://github.com/your-username/gdg-mit-blog.git cd gdg-mit-blog -
Install dependencies:
npm install
-
Start the development server:
npm run dev
-
Open your browser and visit
http://localhost:5173
npm run dev- Start development servernpm run build- Build for productionnpm run preview- Preview production build locallynpm run lint- Run ESLint
src/
├── components/ # Reusable UI components
│ ├── Header.jsx # Navigation header
│ ├── Footer.jsx # Site footer
│ └── BlogCard.jsx # Blog post card component
├── pages/ # Page components
│ ├── Home.jsx # Home page with hero and featured blogs
│ ├── AllBlogs.jsx # All blogs with search and filtering
│ └── Contact.jsx # Contact and community info
├── utils/ # Utility functions
│ └── dateUtils.js # Date formatting utilities
├── App.jsx # Main app component with routing
└── main.jsx # Application entry point
public/
├── data/
│ └── blogs.json # Blog post data
└── images/ # Static images and assets
The application follows Google Material Design principles with:
- Typography: Google Sans for headings, Roboto for body text
- Colors: Google brand colors (Blue, Red, Yellow, Green)
- Components: Material Design inspired cards, buttons, and forms
- Spacing: Consistent spacing system using CSS custom properties
- Shadows: Layered shadows for depth and hierarchy
Blog content is managed through JSON files in the public/data/ directory:
blogs.json- Contains all blog post data including metadata, content, and author information
To add new blog posts, simply update the JSON file with the new blog data following the existing structure.
This project is configured for automatic deployment to GitHub Pages:
- Push your changes to the
mainbranch - GitHub Actions will automatically build and deploy the site
- Visit your GitHub Pages URL to see the live site
npm run build
# Deploy the dist/ folder to your hosting service- Hero section with call-to-action
- Featured blogs showcase
- Recent posts grid
- Community statistics
- Join community section
- Search functionality
- Category filtering
- Tag filtering
- Sort options (newest, oldest, title, reading time)
- Responsive grid layout
- Contact form with validation
- Community information
- Location details
- Social media links
- Event information
- Mobile-first approach
- Tablet and desktop optimized
- Touch-friendly interface
- Optimized images and loading
We welcome contributions from the community! Please feel free to:
- Fork the repository
- Create a feature branch
- Make your changes
- Submit a pull request
This project is licensed under the MIT License. See the LICENSE file for details.
Google Developer Groups On Campus at Madras Institute of Technology is a community of developers passionate about Google's developer technologies. We organize workshops, tech talks, and networking events to help students and professionals stay updated with the latest in technology.
- Location: MIT Campus, Anna University, Chennai
- Email: gdg.mit.chennai@gmail.com
- Members: 500+ active developers
- Events: 50+ workshops and meetups
Made with ❤️ by the GDG MIT Team+ Vite
This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules.
Currently, two official plugins are available:
- @vitejs/plugin-react uses Babel for Fast Refresh
- @vitejs/plugin-react-swc uses SWC for Fast Refresh
If you are developing a production application, we recommend using TypeScript with type-aware lint rules enabled. Check out the TS template for information on how to integrate TypeScript and typescript-eslint in your project.