{"id":13395710,"url":"https://github.com/SqueezerIO/squeezer","last_synced_at":"2025-03-13T22:30:53.271Z","repository":{"id":27084542,"uuid":"30551356","full_name":"SqueezerIO/squeezer","owner":"SqueezerIO","description":"Squeezer Framework - Build serverless dApps","archived":false,"fork":false,"pushed_at":"2019-05-09T05:54:18.000Z","size":4970,"stargazers_count":3237,"open_issues_count":15,"forks_count":158,"subscribers_count":68,"default_branch":"master","last_synced_at":"2024-10-29T15:17:29.618Z","etag":null,"topics":["bitcoin","blockchain","dapp","dapps","ethereum","serverless","squeezer"],"latest_commit_sha":null,"homepage":"https://Squeezer.IO","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"deliacazamir/Antvior","license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SqueezerIO.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-02-09T18:34:28.000Z","updated_at":"2024-10-21T12:18:10.000Z","dependencies_parsed_at":"2022-09-05T20:51:29.230Z","dependency_job_id":null,"html_url":"https://github.com/SqueezerIO/squeezer","commit_stats":null,"previous_names":[],"tags_count":17,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SqueezerIO%2Fsqueezer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SqueezerIO%2Fsqueezer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SqueezerIO%2Fsqueezer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SqueezerIO%2Fsqueezer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SqueezerIO","download_url":"https://codeload.github.com/SqueezerIO/squeezer/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243493213,"owners_count":20299614,"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":["bitcoin","blockchain","dapp","dapps","ethereum","serverless","squeezer"],"created_at":"2024-07-30T18:00:28.739Z","updated_at":"2025-03-13T22:30:52.539Z","avatar_url":"https://github.com/SqueezerIO.png","language":"JavaScript","readme":"\u003ca href=\"https://squeezer.io\" target=\"_blank\"\u003e\u003cimg width=\"700\" height=\"auto\" src=\"./readme-introduction.gif\"\u003e\u003c/a\u003e\n\n#### Framework : [squeezer.io](https://squeezer.io)\n#### Docs : [docs.squeezer.io](https://docs.squeezer.io/)\n\n[![Squeezer.IO](https://cdn.rawgit.com/SqueezerIO/squeezer/9a010c35/docs/gitbook/images/badge.svg)](https://Squeezer.IO)\n[![Build Status](https://travis-ci.org/SqueezerIO/squeezer.svg?branch=master)](https://travis-ci.org/SqueezerIO/squeezer)\n[![npm version](https://badge.fury.io/js/squeezer-cli.svg)](https://badge.fury.io/js/squeezer-cli)\n[![DUB](https://img.shields.io/dub/l/vibe-d.svg)]()\n\n### Contents\n\n* [Getting Started](#getting-started)\n* [Example Projects](#example-projects)\n* [Features](#features)\n* [Roadmap](#roadmap)\n* [Templates](#templates)\n* [Plugins](#plugins)\n* [Contributing](#contributing)\n* [Community](#community)\n* [Meetups](#meetups)\n\n### What is Squeezer ?\n\nSqueezer is a platform that empowers new-entry blockchain developers to build serverless dApps simply as dead.\n\n### ChainKit - Agnostic blockchain integration\n\nThe main usage of the ChainKit is to unify top blockchains interfaces into a single normalized API interface , therefore you can build blockchain dApps easily without digging into blockchain complex infrastructure.\n\n[How to use the ChainKit](https://github.com/SqueezerIO/squeezer-chainkit)\n### \u003ca name=\"features\"\u003e\u003c/a\u003eFeatures in short\n\n- create blockchain wallets\n- double-encrypt for wallet data\n- on-the-fly encryption/decryption\n- user choose how to store wallet token\n- bi-directional onchain transactions (inbound and outbound)\n- create blockchain payment solution\n- build dApps connecting to smart contracts using chainkit agnostic connector\n- deploy smart contracts\n- quick intuitive code deployments by using a special mechanism which will deploy smart contracts and dApp services where code changed\n- powered by microservices\n- share components between functions, similar to monolytic project\n- auto-deployable, auto-scalable , no DevOps requirements\n- silent deployments ,no interruption for the current functionality ( really useful on production )\n- one single command to simultaneously deploy all available functions on your project\nwhere code changed from the last deployment\n- automatic rollback to the previous working deployment if something goes wrong\n- sequential deployments, wait for the current deployments in progress to finish\n- self-healing functions\n- test your code locally on a simulated functions platform for a faster development cycle\n- separate your environments in multiple stages\n- extend framework functionality with your own \"home-made\" plugins\n- pay only for the usage ( no monthly subscriptions )\n- [Swagger UI](http://swagger.io/) API documentation support\n\n### \u003ca name=\"roadmap\"\u003e\u003c/a\u003eRoadmap\n\n- decentralize microservices, currently we are using cloud microservices, AWS Lambda, Azure Functions ... we need to get rid of it and store and access the microservices in a decentralized way, IPFS and Ethereum Swarm could be an option\n- add 2FA and other security options when  using ChainKit `sendTransaction` which is used on withdraws, transfer and other sensitive actions\n- add DEX site example using Squeezer `2way-payment-system`\n\n#### Requirements\n\n- [Install node.js](http://nodejs.org/) version `\u003e=6`\n\n### Squeezer CLI\n\n\u003e Squeezer command-line interface\n\n#### \u003ca name=\"templates\"\u003e\u003c/a\u003eTemplates\n\nCreate a quick project stub by using templates :\n\n| template | description |\n|-----|--------------|\n|Squeezer 2way Payment | https://github.com/SqueezerIO/squeezer-2way-payment |\n\n#### \u003ca name=\"plugins\"\u003e\u003c/a\u003ePlugins\n\nExtend or merge the Squeezer framework functionality with plugins\n\n| Plugin | Author |\n|-----|--------------|\n|**[Serve Plugin](https://github.com/SqueezerIO/squeezer-serve)** \u003cbr/\u003e This plugin enables serving support for local development within the Squeezer Framework. | [Nick Chisiu](https://github.com/nickchisiu) |\n|**[Swagger Plugin](https://github.com/SqueezerIO/squeezer-swagger)** \u003cbr/\u003e This plugin enables Swagger API Documentation support within the Squeezer Framework. | [Nick Chisiu](https://github.com/nickchisiu) |\n\n#### \u003ca name=\"example-projects\"\u003e\u003c/a\u003eExample Projects\n\n| Project Name | Author | Demo |\n|-------------|------|---------|\n| **[Squeezer 2way Payment](https://github.com/SqueezerIO/squeezer-2way-payment)** \u003cbr/\u003e  Squeezer Two Way Blockchain Payment System (inbound + outbound) | [Nick Chisiu](https://github.com/nickchisiu) | [video](https://example.org) |\n\n\n#### \u003ca name=\"getting-started\"\u003e\u003c/a\u003eGetting started\n\nNOTE: **Windows** users should [enable symlinks](http://answers.perforce.com/articles/KB/3472/?q=enabling\u0026l=en_US\u0026fs=Search\u0026pn=1) in order to avoid unwanted symbolic links errors .\n\n\n## [Full Video tutorial](https://www.youtube.com/watch?v=2V3A_LTFu4E)\n\n1. Install Squeezer's command line tool globally on your machine using npm:\n`npm install squeezer-cli -g`\n2. Create a new project using the squeezer-2way-payment template: \n`sqz create --project my-first-project --template https://github.com/SqueezerIO/squeezer-2way-payment`\n3. Switch to the project's directory:\n    `cd my-first-project`\n4. Initialize the local directory as a Git repository:\n    `git init`\n5. Add the files in your new local repository. This stages them for the first commit:\n    `git add .`\n6. Open up GitHub in a browser, navigate to the repositories page, and click on the `New` button, and enter the name of your project that you've created locally, in our case it will be my-first-project, then create the new repository.\n7. In Terminal, add the URL for the remote repository where your local repository will be pushed:\n    git remote add origin remote repository URL\n8. Commit the files that you've staged in your local repository:\n    `git commit -m \"First commit\"`\n9. Push the master branch to GitHub:\n    `git push -u origin master`\n10. Open up a new browser window and navigate to https://platform.squeezer.io, then login to the platform.\n11. Click on the import project button and import the project you've created from GitHub.\n12. In the first step of the import process, you have to select the repository from your list.\n13. In the second step of the import, you have to choose the provider and the stage name, dev or prod.\n14. After importing the project, the deployment will start automatically.\n15. When the deploy will be finished, we can check the logs by clicking on it.\n16. Scroll all the way down in the log window and copy the Swagger URL, then paste in a browser window.\n\n\n#### \u003ca name=\"contributing\"\u003e\u003c/a\u003eContributing\n\nSee [contributing.md](CONTRIBUTING.md) for contribution guidelines\n\n### \u003ca name=\"community\"\u003e\u003c/a\u003eCommunity\n\n* [Squeezer issues](https://github.com/SqueezerIO/squeezer/issues)\n* [Facebook](https://www.facebook.com/Squeezer.IO/)\n* [Twitter](https://twitter.com/SqueezerIO)\n* [Contact Us](mailto:nick@squeezer.io)\n\n### \u003ca name=\"meetups\"\u003e\u003c/a\u003eMeetups\n\n* [Workshop: Serverless javascript with Squeezer](https://www.meetup.com/Cluj-Javascripters/events/243915438/?)\n","funding_links":[],"categories":["General","JavaScript"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FSqueezerIO%2Fsqueezer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FSqueezerIO%2Fsqueezer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FSqueezerIO%2Fsqueezer/lists"}