Skip to content

calliT-today/qwik-builder

Repository files navigation

💠 QwikBuilder

QwikBuilder is an open-source starter template for building websites using Qwik + Builder.io

Features

  • ✅ Integration with Tailwind CSS supporting Dark mode.
  • Production-ready scores in Lighthouse and PageSpeed Insights reports.
  • Image optimization and Font optimization.

QwikBuilder Starter Template Screenshot

CALLiT.today License Maintained Contributions Welcome Known Vulnerabilities


Table of Contents

Demo

📌 https://qwikbuilder.CALLiT.today/


Getting started

This project is using Qwik with QwikCity. QwikCity is just a extra set of tools on top of Qwik to make it easier to build a full site, including directory-based routing, layouts, and more. Rename .env.example to .env and add your Builder.io public key.

Project structure

Inside QwikBuilder template, you'll see the following folders and files:

/
├── adaptors/
|   └── static/
|       └── vite.config.ts
├── public/
│   ├── favicon.svg
│   ├── manifest.json
│   └── robots.txt
├── src/
│   ├── assets/
│   │   ├── images/
|   |   └── styles/
|   |       └── global.css
│   ├── components/
│   │   ├── atoms/
│   │   ├── core/
│   │   ├── icons/
|   |   └── widgets/
|   |       ├── Header.tsx
|   |       ├── Footer.tsx
|   |       └── ...
│   ├── content/
│   |   ├── blog/
│   |   |   ├── post-slug-1.md
│   |   |   ├── post-slug-2.md
│   |   |   └── ...
│   ├── routes/
│   |   ├── blog/
│   |   ├── index.tsx
|   |   ├── layout.tsx
|   |   └-- service-worker.ts
│   ├── config.mjs
│   ├── entry.dev.tsx
│   ├── entry.preview.tsx
│   ├── entry.ssr.tsx
│   └── root.tsx
├── package.json
├── .env.example
└── ...
  • src/routes: Provides the directory based routing, which can include a hierarchy of layout.tsx layout files, and an index.tsx file as the page. Additionally, index.ts files are endpoints. Please see the routing docs for more info.

  • src/components: Recommended directory for components.

  • public: Any static assets, like images, can be placed in the public directory. Please see the Vite public directory for more info.

Edit QwikBuilder on CodeSandbox

Seasoned Qwik expert? Delete this file. Update config.mjs and contents. Have fun))


Commands

All commands are run from the root of the project, from a terminal:

Command Action
npm install Installs dependencies
npm run dev Starts local dev server at 127.0.0.1:5173/
npm run build Build your production site to ./dist/
npm run preview Preview your build locally, before deploying
npm run fmt Format codes with Prettier
npm run lint Run Eslint
npm run qwik ... Run CLI commands like qwik add, qwik build

Configuration

Basic configuration file: ./src/config.mjs

export const SITE = {
  name: 'Example',

  origin: 'https://example.com',
  basePathname: '/', // Change this if you need to deploy to Github Pages, for example
  trailingSlash: true, // Generate permalinks with or without "/" at the end
};

Deploy

Deploy to production (manual)

You can create an optimized production build with:

npm run build

Now, your website is ready to be deployed. All generated files are located at dist folder, which you can deploy the folder to any hosting service you prefer.

Deploy to Netlify

Clone this repository on own GitHub account and deploy to Netlify:

Netlify Deploy button

Deploy to Vercel

Clone this repository on own GitHub account and deploy to Vercel:

Deploy with Vercel


Roadmap

Base

  • Create utilities to generate permalinks tailored to the domain and base pathname.
  • Simplify the way to optimize images.
  • Create component to make SEO simpler and more intuitive.
  • Create configurable blog with categories, tags and authors using MDX.
  • Add more frequently used pages (Portfolio, Services, Contact, Docs ...).
  • Find or create a library to have more icon sources available.
  • Refactor some code that doesn't follow Qwik conventions yet.

Advanced

  • Achieve perfect 100% Google Page Speed score.
  • Insert complex javascript example widget on home page to demonstrate Qwik features.
  • Create small illustrative admin backend.

Contributing

If you have any idea, suggestions or find any bugs, feel free to open a discussion, an issue or create a pull request. That would be very useful for all of us and we would be happy to listen and take action.

Acknowledgements

Initial project by onWidget. This CALLiT.today build extends the static app with Builder.io integration.

License

QwikBuilder is licensed under the MIT license — see the LICENSE file for details.