A powerful, user-friendly visual landing page builder built with Angular 19. Create stunning landing pages with a drag-and-drop interface, customizable themes, and export to clean HTML/CSS or React code.
π Live Demo: https://bsse23094.github.io/codeGen/
- Drag & Drop Interface - Easily add, reorder, and remove components
- Real-time Preview - See changes instantly as you build
- 15+ Pre-built Components - Heroes, features, pricing, testimonials, CTAs, and more
- No Coding Required - Build professional landing pages without writing code
- 4 Beautiful Preset Themes - Default Dark, Startup, Retro, Minimal
- Full Customization - Colors, fonts, spacing, shadows, animations
- 12 Logo Presets - Business, tech, creative, and premium icons
- 12 Font Combinations - Curated Google Fonts pairings
- Visual Array Editors - No more JSON editing!
- Smart Input Types - Text, URL, icon picker, boolean, multi-line lists
- Collapsible Cards - Organized, clean interface for complex data
- Real-time Validation - Immediate feedback on inputs
- 50-Level Undo/Redo - Never lose your work
- Auto-save - Changes are preserved as you work
- Multi-page Support - Create multiple pages in one project
- HTML/CSS Export - Clean, production-ready code
- React Export - Full React component structure
- ZIP Download - Get all files bundled together
- Node.js 18+ and npm
- Angular CLI 19+
# Clone the repository
git clone https://github.com/bsse23094/codeGen.git
cd codeGen
# Install dependencies
npm install
# Start development server
npm startOpen your browser and navigate to http://localhost:4200/
npm start # Start dev server on localhost:4200
npm run watch # Build and watch for changesnpm run build # Production build
npm run build:prod # Production build with GitHub Pages base-hrefnpm run deploy # Build and deploy to GitHub Pagesnpm test # Run unit tests with KarmacodeGen/
βββ src/
β βββ app/
β β βββ core/ # Core services and models
β β β βββ models/ # TypeScript interfaces
β β β βββ services/ # Business logic services
β β βββ features/ # Feature modules
β β β βββ builder/ # Main builder interface
β β βββ shared/ # Shared components
β β β βββ array-input/ # Visual array editor
β β β βββ inspector/ # Properties panel
β β β βββ theme-editor/ # Theme customization
β β βββ app.component.ts # Root component
β βββ assets/
β β βββ templates/ # HTML/React templates
β β βββ html/ # Handlebars templates
β β βββ react/ # React JSX templates
β βββ styles.css # Global styles
βββ public/ # Static assets
βββ angular.json # Angular configuration
- Hero Basic - Full-width hero with CTA
- Hero Centered - Centered hero section
- Navigation Bar - Responsive navbar with glassmorphism
- Footer Columns - Multi-column footer with links
- Features Grid - Icon-based feature showcase
- Pricing Simple - Pricing cards with feature lists
- FAQ Accordion - Collapsible Q&A sections
- Testimonials Grid - Customer testimonials
- Stats Simple - Key metrics display
- Logo Cloud - Partner/client logos
- CTA Simple - Single CTA block
- CTA Split - Two-column CTA section
- Content Image Left/Right - Text with image layouts
- Contact Form - Multi-field contact form
{
name: 'My Theme',
colorPrimary: '#6366f1', // Primary brand color
colorBackground: '#0f172a', // Background color
colorSurface: '#1e293b', // Card/surface color
colorText: '#f8fafc', // Text color
colorMuted: '#94a3b8', // Muted text
fontHeading: 'DM Sans', // Heading font
fontBody: 'Instrument Sans', // Body font
radius: 12, // Border radius (px)
shadowIntensity: 'medium', // Shadow strength
logo: 'preset:star-burst', // Logo preset
spacing: 'comfortable', // Layout spacing
animationSpeed: 'normal' // Animation duration
}- Angular 19 - Modern web framework with signals
- TypeScript 5.7 - Type-safe development
- RxJS 7.8 - Reactive programming
- JSZip - File bundling for exports
- Material Symbols - Icon library
- Google Fonts - Typography
- Add Components - Click components from the sidebar to add them
- Customize Content - Click any component to edit in the inspector
- Style with Themes - Choose a preset or customize colors/fonts
- Export - Download as HTML/CSS or React when ready
Instead of editing JSON:
{
"features": ["Feature 1", "Feature 2", "Feature 3"]
}Use the visual editor:
Features (One per line)
βββββββββββββββββββββββ
Feature 1
Feature 2
Feature 3
The project is configured for easy GitHub Pages deployment:
npm run deployThis will:
- Build the production bundle
- Create/update the
gh-pagesbranch - Deploy to
https://[username].github.io/codeGen/
To use a custom domain, add a CNAME file to the public folder:
example.com
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
BSSE23094
- GitHub: @bsse23094
- Angular Team for the amazing framework
- Google Fonts for beautiful typography
- Material Symbols for comprehensive icons
If you encounter any issues or have questions:
- Open an issue
- Check the documentation
Made with β€οΈ using Angular 19
ng e2eAngular CLI does not come with an end-to-end testing framework by default. You can choose one that suits your needs.
For more information on using the Angular CLI, including detailed command references, visit the Angular CLI Overview and Command Reference page.