Qwikkin is a free and open-source template to make your website using Qwik + Tailwind CSS and hosting via KinodeOS node for the frontend presentation for a KinodeOS application. Ready to start a new project and designed taking into account best practices.
- β Integration with Tailwind CSS supporting Dark mode
- β Integration with Farcaster Frames and ReFrame expansion
- β Integration with Coinbase Smart Wallet, OnChainKit, and Base
- β Integration with SIWE
- β Integration with Ceramic Network and OrbisDB
- β Basic Implementation of ClientDB
- β Backwards compatiblity with traditional link previews and handling via public gateway
//To Do: Screenshot
//To Do: Logos/License/Contribuations/Know Issues
Table of Contents
π https://qwikkin.unenunciate.com/
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.
Inside Qwikkin 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/
| | βββ Hero.tsx
| | βββ Features.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
βββ ...
-
src/routes
: Provides the directory based routing, which can include a hierarchy oflayout.tsx
layout files, and anindex.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.
//To Do: Make a CodeSandbox if possible with KinodeOS
Seasoned qwik expert? Delete this file. Update
config.mjs
and contents. Have fun!
//To Do: Add Yarn + Add Kinode 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 |
//To Do: Define config properties
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
};
//TO DO: All Instructions
You can create an optimized production build with:
npm run build //TO DO
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.
- Create utilities to generate permalinks tailored to the domain and base pathname.
- Create utilities to generate IPFS pinned Farcaster Frames tailored to context and user customizations.
- Create utilities to enable switching between media content's hosting location (Traditional Cloud Vs. dStorage [IPFS/Storj] + dDistrobution [Crust Network])
- Create basic context system for referencing elements of content
- Create basic context system visualization
- Create component to enable building sharing frames and contextual frames via client
- Create configurable blog with categories, tags and authors using MDX
- Authentication via SIWE and Coinbase Smart Wallet
- Add more frequently used pages (About, Services, Contact, Docs ...)
- Inital ClientDB intergration
- Link previews, frame portal, and IPFS Gateway via hosted domain utilized for backwards compatiablity to resolve frames stored on IPFS without the link's frontend client requiring special handling (URL format: https://domain.example/frame-portal/:CID)
- Create component to enable building custom frames via client
- Create multimedia context system
- Sitemap and SEO Improvements
- ClientDB Basic Fog of Data Optimization
- Utilize Oasis OPL Layer in Attributation system
- Create advanaced visualization of context system
- Add Multi-tab Service Work Leader Elections
- ClientDB Advanced Fog of Data Optimization and Service worker optimization
- Define a KinodeOS mode for operating as centralized public gateway and service still as a KinodeOS app
- Admin backend for operating as centralized public platform
- Traui Desktop Application
- ClientDB Traui Intergration
- Mobile Application and ClientDB SQLite
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.
Initially created and maintained by Unenunciate X
Qwikkin is licensed under the MIT license β see the LICENSE file for details.