Official website for DevFest Indore 2025 by Google Developer Group (GDG) Indore. Built with Vue.js.
- Node.js (version 20.19.0 or higher, or 22.12.0+)
- npm (comes with Node.js)
-
Install dependencies:
npm install
-
Start the development server:
npm run dev
-
Open your browser:
- The app will be available at
http://localhost:5173(or the port shown in terminal)
- The app will be available at
npm run buildnpm run previewHere's the folder structure of the DevFest website. Understanding this will help you navigate and work on the project:
devfest-indore-2025/
│
├── public/ # Static files (images, favicon, etc.)
│ └── favicon.ico # Website icon
│
├── src/ # Main source code folder (THIS IS WHERE YOU WORK!)
│ │
│ ├── main.js # ⭐ Entry point - starts the Vue app
│ │ # This file imports App.vue and router, then mounts the app
│ │
│ ├── App.vue # ⭐ Root component - the main app wrapper
│ │ # Contains the Header and router-view (where pages show up)
│ │
│ ├── assets/ # Images, fonts, CSS files (if needed)
│ │
│ ├── components/ # Reusable Vue components
│ │ └── Header.vue # Navigation header component (used on all pages)
│ │
│ ├── views/ # Page components (each file = one page)
│ │ ├── Home.vue # Home page (/)
│ │ ├── Team.vue # Team page (/team)
│ │ ├── Agenda.vue # Agenda page (/agenda)
│ │ └── Sponsers.vue # Sponsors page (/sponsors)
| | └── FAQ.vue # FAQ Page (/FAQ)
│ │
│ └── router/ # Routing configuration
│ └── index.js # Defines all routes (which URL shows which page)
│
├── index.html # Main HTML file (where Vue app gets mounted)
├── package.json # Project dependencies and scripts
├── vite.config.js # Vite build tool configuration
└── README.md # This file!
This is where your Vue app begins! It:
- Imports the main App component
- Imports the router (for navigation)
- Creates and mounts the Vue app to the HTML
Think of it as: The engine that starts your car 🚗
This is the root component that wraps everything. It contains:
<Header />- The navigation bar (shown on all pages)<router-view />- Where different pages get displayed
Think of it as: The frame of your house 🏠
A reusable component that shows the navigation menu. It appears on every page.
Think of it as: The menu bar at a restaurant 🍽️
Each .vue file in this folder represents a different page:
Home.vue→ Shows when you visit/Team.vue→ Shows when you visit/teamAgenda.vue→ Shows when you visit/agendaSponsers.vue→ Shows when you visit/sponsorsFAQ.vue→ Show When you visit/FAQ
Think of them as: Different rooms in your house 🚪
This file tells Vue which URL should show which page. It's like a map for navigation!
Example:
{
path: '/team', // URL in browser
name: 'Team', // Component name
component: Team // Which Vue file to show
}Every .vue file has 3 parts:
<template>
<!-- HTML structure - what you see -->
<div>
<h1>Hello World</h1>
</div>
</template>
<script>
// JavaScript logic - how it works
export default {
name: 'ComponentName',
// data, methods, etc.
}
</script>
<style scoped>
/* CSS styles - how it looks */
h1 {
color: black;
}
</style><template>= What you see (HTML)<script>= How it works (JavaScript)<style>= How it looks (CSS)
- Create a new file in
src/views/(e.g.,About.vue) - Add the route in
src/router/index.js:{ path: '/about', name: 'About', component: About }
- Import it at the top of
src/router/index.js - Add a link in
src/components/Header.vueif you want navigation
Just edit the .vue file in src/views/! Changes appear automatically when you save (hot reload).
- Global styles: Edit
src/App.vue<style>section - Page-specific styles: Edit the
<style scoped>section in that page's.vuefile
- VS Code (free and popular)
- Install the Vue Language Features (Volar) extension
- Install Vue - Official extension
- Vue.js DevTools - Helps debug Vue apps
App won't start?
- Make sure you ran
npm installfirst - Check that Node.js version matches requirements
Changes not showing?
- Check browser console for errors
- Make sure dev server is running (
npm run dev) - Try hard refresh (Ctrl+Shift+R or Cmd+Shift+R)
Can't find a file?
- Check the folder structure above
- Make sure file names match exactly (case-sensitive!)
We welcome contributions! Here's how you can help:
- Add new pages or sections
- Improve existing pages
- Add new features
- Fix bugs
- Enhance the design
- Update content
- Home (
/) - Landing page - Team (
/team) - Team members page - Agenda (
/agenda) - Event schedule - Sponsors (
/sponsors) - Sponsors page
Built with ❤️ for DevFest Indore 2025