π Modern Business Website Layout - Build responsive corporate websites with Vue.js component architecture and modular design
Welcome to the Layout-Simple repository! This Vue.js-based business website demonstrates a professional, component-driven architecture with clean separation of data and presentation. The project features a fully responsive layout, modular components, carousel sliders, newsletter subscription, and dynamic content rendering.
Built with Vue.js 3 and organized with separate data files for easy content management, this project showcases best practices in modern frontend development. Perfect for learning component-based architecture, responsive design patterns, and maintainable code structure for corporate websites.
Layout-Simple-Vue/
βββ π frontend/
β βββ π public/
β β βββ π index.html # Main HTML entry point
β βββ π src/
β β βββ πΌοΈ assets/ # Logo and media resources
β β βββ βοΈ components/ # Vue components
β β β βββ π° Aktualnosci.vue # News section
β β β βββ π Branze.vue # Industries section
β β β βββ π§ Footer.vue # Footer with contact form
β β β βββ π’ LogaFirm.vue # Partner company logos
β β β βββ π§ Navbar.vue # Main navigation
β β β βββ π¦ Produkty.vue # Products display
β β β βββ π Sidebar.vue # Sidebar menu
β β β βββ π¬ Slider.vue # Image carousel
β β β βββ π οΈ Uslugi.vue # Services section
β β βββ π data/ # Separated data files
β β β βββ AktualnosciData.js # News content data
β β β βββ BranzeData.js # Industries data
β β β βββ FooterData.js # Footer information
β β β βββ ProduktyData.js # Products data
β β β βββ SliderData.js # Carousel images
β β β βββ UslugiData.js # Services data
β β βββ π¨ styles/ # Component CSS files
β β β βββ NavbarStyle.css
β β β βββ SidebarStyle.css
β β β βββ SliderStyle.css
β β β βββ BranzeStyle.css
β β β βββ ProduktyStyle.css
β β β βββ UslugiStyle.css
β β β βββ FooterStyle.css
β β βββ π views/ # Page views
β β β βββ HomeView.vue
β β βββ π» App.vue # Main application component
β β βββ π main.js # Vue entry point
β βββ π¦ package.json # Node.js dependencies
β βββ π package-lock.json # Dependency lock file
β βββ π§ start.bat # Windows startup script
β βββ π§ start.sh # Linux/macOS startup script
β βββ π README.md # Frontend documentation
βββ π grafika/ # Screenshots and design files
β βββ πΌοΈ simple.webp # Desktop preview
β βββ π± simple 768.webp # Tablet preview
β βββ π± simple 320.webp # Mobile preview
β βββ π¨ *.psd # Photoshop design files
βββ π CHANGELOG # Version history
βββ π LICENSE # Project license
βββ π README.md # Main documentation
git clone https://github.com/dawidolko/Layout-Simple-Vue.git
cd Layout-Simple-Vuecd frontend
npm installstart.batbash start.shnpm run dev- Access the application at http://localhost:8000
- Node.js (version 14.0 or higher)
- npm or yarn package manager
- Modern Web Browser (Chrome, Firefox, Safari, Edge)
- Git for version control
- Vue.js 3 with Composition API
- Code Editor (VS Code, WebStorm, Sublime Text)
- Vue DevTools browser extension (recommended)
- Volar for Vue 3 support in VS Code
- ESLint for JavaScript code quality
- Prettier for code formatting
- Live Server for development
- Vue VSCode Snippets for faster development
- Vue 3 - Progressive JavaScript framework
- Vue Router (if routing is needed)
- ES6+ modern JavaScript features
- CSS3 for styling
- Navbar Component: Main navigation with sections (Industries, Products, Services, News, Contact, References)
- Sidebar Component: Extended menu with social media links (Facebook, LinkedIn)
- Responsive mobile-friendly navigation
- Smooth scrolling to sections
- Image carousel with automatic rotation
- Newsletter subscription form integration
- Touch-friendly swipe support
- Responsive image loading
- 9 industry categories with interactive hover effects
- Gray background transition on hover
- Grid-based responsive layout
- Icon and text combinations
- 10 circular product elements
- Modern card-based design
- Hover animations and effects
- Responsive grid system
- Service icons with descriptions
- Clean, professional presentation
- Icon-text combinations
- Flexible content management
- News article slider/carousel
- Dynamic content loading from data files
- Image and text preview cards
- Read more functionality
- Contact form with validation
- Company contact details
- Social media integration
- Partner company logos slider
- Separate data files in
data/directory - Easy content updates without touching components
- Centralized content management
- JSON-like data structure
- Component-specific CSS files
- Maintainable and scalable styles
- No style conflicts between components
- Easy customization and theming
- Mobile-first approach (320px, 768px, desktop)
- Flexbox and CSS Grid layouts
- Touch-friendly interface
- Cross-browser compatibility
- Vue.js 3 - Modern progressive JavaScript framework
- JavaScript (ES6+) - Component logic and interactivity
- CSS3 - Styling with component-specific stylesheets
- HTML5 - Semantic markup structure
- Node.js - Development environment
- NPM - Package management
- Git - Version control
Main navigation bar with menu items and responsive behavior for mobile devices.
Extended sidebar menu with additional links including: Menu, Industries, Products, Services, News, Contact, About Us, Awards, Investor Relations, Partners, Careers, Customer Zone. Includes social media icons.
Image carousel component with newsletter subscription form and automatic slide rotation.
Industries section displaying 9 different industry categories with interactive hover effects (background turns gray).
Products display featuring 10 circular elements with product names in a responsive grid layout.
Services section with icons and descriptions showcasing company offerings.
News section with article slider displaying latest company news and updates.
Contact section with form, contact details, social media links, and partner company logos slider.
Partner company logos carousel in the footer section.
All content and text data are stored in separate files in the src/data/ directory:
- AktualnosciData.js - News articles and updates
- BranzeData.js - Industry categories and descriptions
- FooterData.js - Contact information and footer content
- ProduktyData.js - Product names and details
- SliderData.js - Carousel images and captions
- UslugiData.js - Service descriptions and icons
This separation allows easy content updates without modifying Vue components.
Each component has a dedicated CSS file in src/styles/ for easy customization:
- Modify colors, fonts, and spacing in individual style files
- Maintain consistency across components
- No style conflicts due to component-scoped CSS
- Easy theme implementation
β Completed - Fully functional business website layout!
Contributions are highly welcomed! Here's how you can help:
- π Report bugs - Found an issue? Let us know!
- π‘ Suggest improvements - Have ideas for better features?
- π§ Submit pull requests - Share your enhancements and solutions
- π Improve documentation - Help make the project clearer
Feel free to open issues or reach out through GitHub for any questions or suggestions.
Created by Dawid Olko - Developed as part of PHP Developer internship program.
Original Repository: GitLab - layout-simple
This project is open source and available under the MIT License.
β Found this helpful? Give it a star and share with fellow Vue.js developers!
