{"id":18586743,"url":"https://github.com/oguzhanumutlu/hizzy","last_synced_at":"2025-04-10T13:32:25.235Z","repository":{"id":181175994,"uuid":"665988138","full_name":"OguzhanUmutlu/hizzy","owner":"OguzhanUmutlu","description":"Hizzy is a React based fullstack modern web framework!","archived":false,"fork":false,"pushed_at":"2023-07-20T15:55:57.000Z","size":5884,"stargazers_count":7,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-24T21:51:11.155Z","etag":null,"topics":["backend","development","easy","fast","framework","frontend","fullstack","hizzy","javascript","js","jsx","nodejs","simple","socket","ts","tsx","typescript"],"latest_commit_sha":null,"homepage":"https://hizzyjs.github.io","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/OguzhanUmutlu.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-07-13T12:56:05.000Z","updated_at":"2023-11-27T01:59:39.000Z","dependencies_parsed_at":null,"dependency_job_id":"59d42dc3-56de-4619-b4e1-4b31e2f9583a","html_url":"https://github.com/OguzhanUmutlu/hizzy","commit_stats":null,"previous_names":["oguzhanumutlu/hizzy"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OguzhanUmutlu%2Fhizzy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OguzhanUmutlu%2Fhizzy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OguzhanUmutlu%2Fhizzy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OguzhanUmutlu%2Fhizzy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/OguzhanUmutlu","download_url":"https://codeload.github.com/OguzhanUmutlu/hizzy/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248225710,"owners_count":21068078,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["backend","development","easy","fast","framework","frontend","fullstack","hizzy","javascript","js","jsx","nodejs","simple","socket","ts","tsx","typescript"],"created_at":"2024-11-07T00:38:28.217Z","updated_at":"2025-04-10T13:32:20.226Z","avatar_url":"https://github.com/OguzhanUmutlu.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Hizzy\n\nHizzy is a React based fullstack modern web framework!\n\n# [!!! THIS REPOSITORY HAS BEEN MOVED, YOU CAN VIEW THE LATEST VERSION OF HIZZY BY CLICKING ME !!!](https://github.com/hizzyjs/hizzy)\n\n[![](https://img.shields.io/badge/Discord-black?style=for-the-badge\u0026logo=discord)](https://discord.gg/emAhrw3mvM)\n[![npm](https://img.shields.io/npm/v/hizzy.svg?style=for-the-badge)](https://www.npmjs.com/package/hizzy)\n\n# Installation\n\nTo install Hizzy simply type this:\n\n```bash\nnpx hizzy\n```\n\n\u003c!-- TOC --\u003e\n* [Hizzy](#hizzy)\n* [Installation](#installation)\n* [Production Configuration](#production-configuration)\n* [Built-in addons](#built-in-addons)\n  * [@hizzyjs/database](#hizzyjsdatabase)\n    * [SQLite Support](#sqlite-support)\n    * [MongoDB Support](#mongodb-support)\n    * [MySQL Support](#mysql-support)\n    * [JSON Database Support](#json-database-support)\n    * [YAML Database Support](#yaml-database-support)\n    * [XML Support](#xml-support)\n  * [@hizzyjs/language](#hizzyjslanguage)\n  * [@hizzyjs/authentication](#hizzyjsauthentication)\n    * [Local authentication](#local-authentication)\n    * [Discord authentication](#discord-authentication)\n  * [@hizzyjs/error-overlay](#hizzyjserror-overlay)\n  * [@hizzyjs/api](#hizzyjsapi)\n  * [@hizzyjs/helmet](#hizzyjshelmet)\n  * [@hizzyjs/images](#hizzyjsimages)\n  * [@hizzyjs/requests](#hizzyjsrequests)\n* [🏎️ Blazingly fast and small-sized! 🏎️](#-blazingly-fast-and-small-sized-)\n  * [Statistics](#statistics)\n* [JSX Support](#jsx-support)\n* [⚡ Instant server connection! ⚡](#-instant-server-connection-)\n  * [@server](#server)\n  * [@server/respond](#serverrespond)\n    * [You might ask, why do I have to use `await` keyword for `@server/respond` functions?](#you-might-ask-why-do-i-have-to-use-await-keyword-for-serverrespond-functions)\n  * [@server/join \u0026 @server/leave](#serverjoin--serverleave)\n  * [@server/start](#serverstart)\n    * [NOTE: This doesn't work when the development mode is on!](#note-this-doesnt-work-when-the-development-mode-is-on)\n      * [Reason for the note: The @server/start runs when the server starts which is possible when it's production mode](#reason-for-the-note-the-serverstart-runs-when-the-server-starts-which-is-possible-when-its-production-mode)\n* [CLI](#cli)\n  * [Providing the cd](#providing-the-cd)\n    * [Example:](#example)\n* [Addon API](#addon-api)\n  * [onLoad()](#onload)\n  * [onEnable()](#onenable)\n  * [onDisable()](#ondisable)\n  * [onClientSideLoad()](#onclientsideload)\n  * [onClientSideRendered()](#onclientsiderendered)\n  * [onClientSideError()](#onclientsideerror)\n* [Why Hizzy?](#why-hizzy)\n* [Project history](#project-history)\n\u003c!-- TOC --\u003e\n\n# Production Configuration\n\nYou might want to turn off `includeOriginalInBuild` for faster build scan.\n\nYou might want to turn off `autoBuild` to prevent it from rebuilding every time.\n\nYou should turn `dev` off by setting it to `false`.\n\n# Built-in addons\n\n## @hizzyjs/database\n\nThis addon adds these databases:\n\n### SQLite Support\n\n### MongoDB Support\n\n### MySQL Support\n\n### JSON Database Support\n\n### YAML Database Support\n\n### XML Support\n\n## @hizzyjs/language\n\nThis addon adds language support to your page!\n\nCheck the [Language Support Example on GitHub](https://github.com/OguzhanUmutlu/hizzy/tree/main/examples/language)\n\n## @hizzyjs/authentication\n\n### Local authentication\n\nCheck the [Local Authentication Example on GitHub](https://github.com/OguzhanUmutlu/hizzy/tree/main/examples/local-auth)\n\n### Discord authentication\n\nCheck\nthe [Discord Authentication Example on GitHub](https://github.com/OguzhanUmutlu/hizzy/tree/main/examples/discord-auth)\n\n## @hizzyjs/error-overlay\n\nAn addon that makes a popup for errors whenever something doesn't work which helps you maintain your project easily!\n\nThis feature is not fully done.\n\n## @hizzyjs/api\n\nThis feature is not fully done.\n\n## @hizzyjs/helmet\n\nThis addon lets you append things on the `\u003chead\u003e` tag using a custom tag named `\u003cHelmet\u003e`!\n\nExample:\n\n```jsx\nimport Helmet from \"@hizzyjs/helmet\";\n\nexport default \u003c\u003e\n    \u003cHelmet\u003e\n        \u003ctitle\u003eHello, world!\u003c/title\u003e\n    \u003c/Helmet\u003e\n    Hello, world!\n\u003c/\u003e\n```\n\nCheck the [Helmet Example on GitHub](https://github.com/OguzhanUmutlu/hizzy/tree/main/examples/helmet)\n\n## @hizzyjs/images\n\nAn addon that adds a better progressive load to images that first shows the image's blurred version then the actual\nimage.\n\nThis feature is not fully done.\n\nCheck the [Images Example on GitHub](https://github.com/OguzhanUmutlu/hizzy/tree/main/examples/images)\n\n## @hizzyjs/requests\n\nThis feature is not fully done.\n\n# 🏎️ Blazingly fast and small-sized! 🏎️\n\nHizzy is blazingly fast compared to its competitors!\n\n## Statistics\n\nComing soon...\n\n# JSX Support\n\nYou can use JSX which lets you add HTML/Components inside your code!\n\n# ⚡ Instant server connection! ⚡\n\nThere are comment decorators in Hizzy that allow you to run specific server-sided functions you want to run!\n\n## @server\n\nThe `@server` decorator lets client run a function that is run in the server side!\n\nAn example that logs \"Hello, world!\" to the server terminal whenever a button is pressed:\n\n```jsx\n// @server\nfunction helloWorld() {\n    console.log(\"Hello, world!\");\n}\n\nexport default \u003cbutton onClick={helloWorld}\u003e\u003c/button\u003e\n```\n\nAnd you might be asking yourself... Can't the client see the inside of the server-sided function then?\n\n**No! Only thing the client knows is that the server-sided function is called helloWorld! How amazing is that!?**\n\n## @server/respond\n\nThe `@server/respond` decorator lets client run a function that is run in the server side and get the returned value!\n\nAn example that adds two numbers and sends them back to the client:\n\n```jsx\n// @server/respond\nfunction secretFunction(a, b) {\n    // Client doesn't know that it's just addition!\n    return a + b;\n}\n\nexport default \u003cdiv\u003eThe secret function says {await secretFunction(2, 2)}\u003c/div\u003e;\n```\n\n### You might ask, why do I have to use `await` keyword for `@server/respond` functions?\n\nThe reason is it's not instant in literal sense. Since it uses sockets to run functions, it takes little to no time.\nBut it can't be instant.\n\n## @server/join \u0026 @server/leave\n\nThe `@server/join` decorator will be run when a client joins. The function will be executed from the server side.\n\nThe `@server/leave` decorator will be run when a client leaves. The function will be executed from the server side.\n\n**The clients won't get any information about the functions assigned with these decorators. Not even their names.**\n\nAn example that tells the server terminal that someone joined or left:\n\n```jsx\n// @server/join\nfunction onSomeoneJoin() {\n    console.log(\"Someone just joined!\");\n}\n\n// @server/leave\nfunction onSomeoneLeave() {\n    console.log(\"Someone just left!\");\n}\n\nexport default \u003cdiv\u003eWhat a peaceful page!\u003c/div\u003e;\n```\n\n## @server/start\n\nThe functions assigned with `@server/start` decorator will be run from server side and will run at the beginning of the\nprocess.\n\n**The clients won't get any information about the functions assigned with this decorator. Not even their names.**\n\nAn example that logs `I'm alive` to the server terminal when server starts:\n\n```jsx\n// @server/start\nfunction onServerStart() {\n    console.log(\"I'm alive!\");\n}\n\nexport default \u003cdiv\u003eHey!\u003c/div\u003e;\n```\n\n### NOTE: This doesn't work when the development mode is on!\n\n#### Reason for the note: The @server/start runs when the server starts which is possible when it's production mode\n\nsince every file is built once per process. Unlike production mode, in development mode the files will be built every\nrequest, therefore it would have to run the @server/start function every REQUEST! That is usually not what you want. So\nwe disabled it. It will say `Internal server error` to the client.*\n\n# CLI\n\nAll you have to do to is type `hizzy`!\n\nThis will immediately start your project.\n\n## Providing the cd\n\nNormally `hizzy` uses the current directory you are in the terminal,\nbut you can specify the directory as an argument!\n\n```\nnpx hizzy [root]\n```\n\n### Example:\n\n```\nnpx hizzy ./myDirectory/myProject\n```\n\n# Addon API\n\nTo create an addon structure you can run the command `npx hizzy --addon-init YourAddonName`\n\n## onLoad()\n\nThis function is ran immediately after the file is exported.\n\n## onEnable()\n\nThis function is ran when the addon is enabled.\n\nFirst trigger of this function is when server starts listening.\n\nThis can be triggered by the `a` shortcut in the CLI which disables and enables all addons.\n\n## onDisable()\n\nThis function is ran when the addon is enabled.\n\nThis can be triggered by the `a` shortcut in the CLI which disables and enables all addons.\n\nThis will be triggered before the termination of the process.\n\n## onClientSideLoad()\n\nThis function is ran when a client joins the website.\n\n**WARNING: This function will be run from the client side therefore you can't use server-sided functions.**\n\nFor more information check the `injections/jsx.js` file and search for `doAddon(1)`.\n\nNOTE: If the client is transferred between pages using Hizzy's `openPage` function or `reloadPage` this won't be run\nagain.\nThis function is only ran when the first request is sent.\n\n## onClientSideRendered()\n\nThis function is ran when a client has done rendering the page.\n\n**WARNING: This function will be run from the client side therefore you can't use server-sided functions.**\n\nFor more information check the `injections/jsx.js` file and search for `doAddon(2)`.\n\n## onClientSideError()\n\nThis function is ran when a client has done rendering the page.\n\n**WARNING: This function will be run from the client side therefore you can't use server-sided functions.**\n\nFor more information check the `injections/jsx.js` file and search for `doAddon(3)`.\n\n# Why Hizzy?\n\nIn Turkish \"hız\" means \"speed\" in English. We added \"zy\" at the end to make it easier to pronounce and here you go,\nHizzy!\n\nPeople who helped to find the name: mattmatt0990, lebouwski\n\n# Project history\n\n- Created the project: June 21, 2023\n- First public commit: July 13, 2023\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foguzhanumutlu%2Fhizzy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Foguzhanumutlu%2Fhizzy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foguzhanumutlu%2Fhizzy/lists"}