Giter Site home page Giter Site logo

saasify-sh / saasify Goto Github PK

View Code? Open in Web Editor NEW
1.2K 15.0 105.0 18.3 MB

The easiest way to monetize your API. πŸš€

Home Page: https://saasify.sh

License: MIT License

TypeScript 1.88% JavaScript 86.80% HTML 0.61% CSS 10.07% Shell 0.10% Mustache 0.55%
saas apis saas-api monetization oss funding passive-income serverless faas faas-platform

saasify's Introduction

2022 Update

Note As of January 2022, The Saasify platform has been shut down. For a retrospective on why we’re shutting down and lessons learned along the way, see: key takeways and VC feedback.


Saasify Logo

How it works

How Saasify Works

NPM Build Status JavaScript Style Guide

Demo

Here is a live SaaS API and marketing site by Sindre Sorhus that was auto-generated with Saasify from this source code.

We make it really simple to "saasify" your own projects like this one.

Why Saasify?

We built Saasify as an ideal solution for makers who want to earn passive income from their side projects.

The only real way to validate a SaaS idea is to ship an MVP and get real customers paying for it. That's why Saasify allows you to quickly ship a quality MVP and start monetizing in minutes instead of months. ✈️

We've helped dozens of SaaS products get off the ground by enabling them to focus only on their unique value proposition instead of SaaS boilerplate. πŸ”₯

Online shop

What can be monetized using Saasify?

Any externally hosted REST API can be monetized via Saasify. We also provide built-in support for monetizing serverless functions.

Some example use cases include:

  • Workflow automation (headless chrome / bots)
  • Image & media processing tasks
  • Data transformations
  • Low/no-code workflows
  • Pre-built machine learning models
  • Your NPM module or PyPi package?

Have an idea that you'd like to monetize, but not sure where to start? Feel free to connect on our open Slack. ✌️

Features

  • πŸ’° SaaS is a proven and very profitable business model
  • ⚑️️ Quick & easy to setup your own monetizable APIs
  • πŸ”₯ Every API comes with its own customizable marketing site
  • πŸ’― Built with JS/TS + AWS Lambda + Stripe
  • πŸ€– We handle all docs, hosting, billing, and accounts for you
  • πŸš€ Our CLI makes it really easy to get started

Getting Started

Visit the quick start guide to get started or check out our list of SaaS use cases and examples to get inspired.

Onboarding

License

MIT Β© Saasify

saasify's People

Contributors

bouiboui avatar chrisvxd avatar colinrtaylor avatar dependabot[bot] avatar hipstersmoothie avatar jamesgeorge007 avatar lqmanh avatar mmedum avatar netroy avatar ntcho avatar transitive-bullshit avatar zephraph avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

saasify's Issues

User validation failed: email: Path `email` is required.

When I type saasify signup, and authenticate with Github, I get this message:

image

but the CLI displays:

$ saasify signup
- Authenticating with GitHub
Γ— Authenticating with GitHub
Request failed with status code 400
User validation failed: email: Path `email` is required.

And then when I init a new project:

? Template? typescript
? Project Name (saasify-test)
? Project Name saasify-test
? Project Description (Powered by Saasify)
? Project Description Powered by Saasify
? Author's GitHub Handle (bouiboui)
? Author's GitHub Handle bouiboui
? GitHub Repo Path (bouiboui/saasify-test)
? GitHub Repo Path bouiboui/saasify-test
? License (MIT)
? License MIT
- Cloning "typescript" template
√ Cloning "typescript" template
- Copying "typescript" template to C:\Users\Julien\AppData\Local\Temp\saasify-test
√ Copying "typescript" template to C:\Users\Julien\AppData\Local\Temp\saasify-test
- Initializing git repo
Γ— Initializing git repo
Command failed with exit code 1 (Unknown system error -1): git commit -m init typescript template ([email protected])

The created folder is empty, so Git fails.

serve throws error if entry point not at project root

fin serve throws the following error when the src is not at the project root:

Cannot find module /private/var/folders/km/wffqdw217d35_b7386wmz9ym0000gn/T/0eaccfd7ca53ec93f4edfcb6a78a7ae0/index.js

fin.json

{
  "version": 1,
  "name": "story2sketch",
  "services": [
    {
      "src": "serverless/index.ts",
      "name": "story2sketch"
    }
  ]
}

Inspecting the tmp dir, I see:

wffqdw217d35_b7386wmz9ym0000gn/T/0eaccfd7ca53ec93f4edfcb6a78a7ae0
➜ ll
total 0
drwxr-xr-x  3 chrisvilla  staff    96B 10 May 16:07 serverless
drwxr-xr-x  3 chrisvilla  staff    96B 10 May 16:07 src

Looks like fin is missing out the serverless part of the path, since that contains index.js as expected.

saasify.sh is not working (Secure Connection Failed)

In Firefox:

Secure Connection Failed

An error occurred during a connection to saasify.xyz. Peer reports it experienced an internal error. Error code: SSL_ERROR_INTERNAL_ERROR_ALERT

In Chrome:

This site can’t provide a secure connection
saasify.xyz sent an invalid response.
ERR_SSL_PROTOCOL_ERROR

Support for object binding patterns (object) arguments?

This works:

export default async (language: string): Promise<string> => {
    return "";
};

...but this doesn't:

type MySettings = { language: string; };
export default async ({ language }: MySettings): Promise<string> => {
    return "";
};
$ saasify dev
parsing config saasify.json
parsing service index.ts
Not implemented feature for syntax kind 'ObjectBindingPattern'.

For what it's worth, ObjectBindingPattern refers to capturing variables in an argument. AST Explorer link

Privacy add-on blocking API docs from loading

Page: https://puppet-master.sh/docs

I'm running a few privacy addons and one of them blocked the API by default. Issues with the page are to be expected but I didn't expect the whole page to crash like this.

In production maybe this should default to a nicer more end user friendly version.

Error downloading https://api.saasify.sh/1/deployments/openapi/transitive-bullshit/puppet-master@a818aeac Failed to fetch
Stack trace
Error: Error downloading https://api.saasify.sh/1/deployments/openapi/transitive-bullshit/puppet-master@a818aeac 
Failed to fetch
    at https://puppet-master.sh/static/js/3.cc3278d9.chunk.js:1:23110
    at https://puppet-master.sh/static/js/3.cc3278d9.chunk.js:1:922267

TypeError: Failed to fetch

ReDoc Version: 2.0.0-rc.14
Commit: 121bf64

Docs should mention required .gitignore

The deployment process relies on .gitignore to establish what data to send to Fin's servers. This should be documented somewhere, perhaps in the Walkthrough, but also in any larger piece that documents how Fin handles deployments.

Deployment issues

Hi,
I'm having some issues when trying to deploy my project using OpenAPI.

  • Whenever I use saasify dev, there is this error: Unsupported service type "undefined".
  • If I use saasify deploy, it requires backendUrl or SAASIFY_BACKEND_URL. However, when I add that field, this error pops up:
    Request failed with status code 400
    OpenAPI error: Error opening file "/opt/render/project/src/api/dist/openapi.json"
    ENOENT: no such file or directory, open '/opt/render/project/src/api/dist/openapi.json'

Here is my saasify.json:

{
  ...
  "openapi": "./dist/openapi.json",
  "backendUrl": "https://httpbin.org",
  "services": [
    {
      "path": "/scraper",
      "httpMethod": "POST",
      "examples": [...]
    }
  ]
}

I use Nestjs with @nestjs/swagger to generate that openapi.json file

Custom headers in proxied requests

Hello,

I would like to ask if it is possible to customize headers which are sent by the proxy to the backend. In the docs I found that it is possible to add new headers to responses, but I would like to know if it is, or it will, be possible to add new headers to proxied requests.

I would like this feature to be able to handle an authentication scenario where I would prefer not to update an existing web service so that it understands Saasify specific authentication headers. Instead, I would like to set an API Key, via a custom X-Api-Key header, which is sent with every request and it is already understood by the existing service.

Thanks,
Goodbye,
Alessio

Error when deploying walkthrough: Project name could not be inferred

Following the steps in the Walkthrough, I hit this bug when running fin deploy:

/Users/chrisvilla/.nvm/versions/node/v9.11.2/lib/node_modules/fin/node_modules/conf/index.js:56
				throw new Error('Project name could not be inferred. Please specify the `projectName` option.');
				^
Error: Project name could not be inferred. Please specify the `projectName` option.
    at new Conf (/Users/chrisvilla/.nvm/versions/node/v9.11.2/lib/node_modules/fin/node_modules/conf/index.js:56:11)
    at Object.<anonymous> (/Users/chrisvilla/.nvm/versions/node/v9.11.2/lib/node_modules/fin/lib/auth.js:4:14)
    at Module._compile (internal/modules/cjs/loader.js:654:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:665:10)
    at Module.load (internal/modules/cjs/loader.js:566:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:506:12)
    at Function.Module._load (internal/modules/cjs/loader.js:498:3)
    at Module.require (internal/modules/cjs/loader.js:598:17)
    at require (internal/modules/cjs/helpers.js:11:18)
    at Object.<anonymous> (/Users/chrisvilla/.nvm/versions/node/v9.11.2/lib/node_modules/fin/lib/cli.js:8:14)```

status code 413: request entity too large

Repro:

$ /Users/amaury/Workspace/reacher/webapp/node_modules/.bin/saasify deploy
parsing config saasify.json
βœ– Creating deployment
Request failed with status code 413
request entity too large
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

The same saasify.json passed last week.

Version:

$ /Users/amaury/Workspace/reacher/webapp/node_modules/.bin/saasify -V
1.20.8

Saasify Python Support

Trying to write a simple saasify python project and test locally but i keep getting this error if I open the localhost url on browser:

Command failed: pip3 install --disable-pip-version-check --target . --upgrade werkzeug
Traceback (most recent call last):
  File "/usr/bin/pip3", line 9, in <module>
    from pip import main
ImportError: cannot import name 'main'

I think the issue is from now-python trying to installing something here: https://github.com/zeit/now/blob/canary/packages/now-python/src/index.ts#L28

Any fix to this. Also there should be a documentation on how to set it up with Python, virtualenv and so on.

Add TODOs Badge to README

Hi there! I wanted to propose adding the following badge to the README to indicate how many TODO comments are in this codebase:

TODOs

The badge links to tickgit.com which is a free service that indexes and displays TODO comments in public github repos. It can help surface latent work and be a way for contributors to find areas of code to improve, that might not be otherwise documented.

The markdown is:

[![TODOs](https://badgen.net/https/api.tickgit.com/badgen/github.com/saasify-sh/saasify)](https://www.tickgit.com/browse?repo=github.com/saasify-sh/saasify)

Thanks for considering, feel free to close this issue if it's not appropriate or you prefer not to!

(full disclosure, I am the creator/maintainer of tickgit)

Fix Windows CLI support

Windows support for the saasify CLI seems to be broken.

C:\Code\budgify>saasify dev
parsing config saasify.json
parsing service index.ts
√ Preparing deployment
added 278 packages from 204 contributors and audited 2259 packages in 13.972s
found 0 vulnerabilities

now dev C:\Users\Dioge\AppData\Local\Temp\698c703a8d8382a604208c4df0ba0823
> Now CLI 16.5.2 dev (beta) β€” https://zeit.co/feedback/dev
- Installing builders: @now/[email protected]
> Error! Command failed with exit code 1: C:\Program Files\nodejs\node.exe C:\Users\Dioge\AppData\Local\co.zeit.now\Cache\dev\builders\yarn add --exact --no-lockfile --non-interactive @now/[email protected]

Similar with deployments:

C:\Code\budgify>saasify deploy
parsing config saasify.json
parsing service index.ts
Γ— Creating deployment
Request failed with status code 400
Error building deployment

> NOTE: This is the first deployment in the joshuakgoldberg-budgify project. It will be promoted to production.
> NOTE: To deploy to production in the future, run `now --prod`.
- Queued...
- Building...
> Error! Build failed
> Error! Check your logs at https://joshuakgoldberg-budgify-h6k4adk6o.now.sh/_logs or run `now logs https://joshuakgoldberg-budgify-h6k4adk6o.now.sh`

cc @JoshuaKGoldberg

Build API on Saasify and Contribute to it

I really love the Saasify platform and would really love to build on it. I have a couple of APIs built on Python and Node, and would love to put it on Saasify.

The slack channel link is longer active, can I get a new link?

Also I would really love to contribute to Saasify and make it better.

Monitoring Users

Hi, this is a nice project, I would like to know where would I access the admin features and analytics as a developer of the API.

I would like to keep track of the people who signed up for my API

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.