From 0c8b8ab3e028c834f15cd945bc5d02857c26a942 Mon Sep 17 00:00:00 2001 From: Daniel Vassallo Date: Tue, 15 Oct 2019 13:27:58 -0700 Subject: [PATCH] A backend for frontend developers --- src/img/logo.png | Bin 0 -> 19507 bytes src/pages/index.html | 91 ++++++++++++++++++++------------------- src/partials/header.html | 11 ++--- src/style.css | 40 +++++++++++++++-- src/template.html | 2 +- tailwind.config.js | 5 +++ 6 files changed, 92 insertions(+), 57 deletions(-) create mode 100644 src/img/logo.png diff --git a/src/img/logo.png b/src/img/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..832c546e23f698a7b1c80df52483494efc52b8ef GIT binary patch literal 19507 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 JPDHLkV1iR|$VUJG literal 0 HcmV?d00001 diff --git a/src/pages/index.html b/src/pages/index.html index f1b5273..281eff6 100644 --- a/src/pages/index.html +++ b/src/pages/index.html @@ -1,8 +1,6 @@
-

What is Userbase?

- -

Userbase is a database, but purpose-built for web apps. It is accessible directly - from the browser through a very simple JavaScript SDK.

+

Userbase allows you to create database-backed web apps using only static JavaScript, HTML, and CSS. No backend code + necessary.


@@ -10,20 +8,19 @@

What does it do?

-

Userbase becomes your database, as well as your backend. You can create fully dynamic web apps using - just static JavaScript, HTML, and CSS. No backend code necessary. -

+

Userbase is a database and backend service, purpose-built for web apps. It is accessible directly from the + browser through a very simple JavaScript SDK.

Zero management

Unlike a regular database, all Userbase queries run in the browser, with the server-side acting as a dumb data store. There's no database to manage or worry about.

Built-in user management

-

Unlike a regular database, Userbase takes care of your user accounts. It comes with built-in APIs for user - signups, logins, and access control.

-

End-to-end encrypted

-

Userbase won't show you what your users store in your web app. Yes, that's a feature — maybe the most important - feature. Userbase spares you from the liability of handling user data by encrypting everything in the browser, using - keys that always stay with the user.

+

Userbase takes care of your user accounts. It comes with built-in APIs for user signups, logins, password + resets, and access control.

+

End-to-end encryption

+

Userbase won't show you what your users store in your web app. Yes, that's a feature, not a bug. Userbase spares + you from the liability of handling user data by encrypting everything in the browser, using keys that always stay + with the user.


@@ -31,8 +28,8 @@

When would I use it?

-

If you're building a web app, you will likely need a database. Userbase can replace your - database...

+

If you're building a web app, you will likely need a database and a backend. Userbase can replace both of those + things...

  • If you want to build a web app without writing any backend code.
  • If you never want to see your users' data.
  • @@ -47,7 +44,8 @@

    How do I start?

    -

    Userbase will be available around mid-December 2019. Enter your email to keep up to date.

    +

    Userbase will be available around mid-December 2019. Enter your email to receive important updates in your inbox. +

    @@ -66,39 +64,42 @@
    +
-
-

How much will it cost?

-

Open source

-

Userbase is being developed in the open, and is 100% open-source, MIT licensed. You can modify and extend the - backend to your liking, and run it yourself in your AWS account, always under your control.

+
-

As a service

-

Or for just $39/month you can go fully serverless, backendless, databaseless, and AWSless!

-
    -
  • Unlimited web apps.
  • -
  • Unlimited users.
  • -
  • 1 GB storage included.
  • -
  • Unlimited extra storage at $1/month per GB.
  • -
  • All features included.
  • -
+
+

How much will it cost?

+

Open source

+

Userbase is being developed in the open, and is 100% open-source, MIT licensed. You can modify and extend the + backend to your liking, and run it yourself in your AWS account, always under your control.

-
+

As a service

+

Or for just $39/month you can go fully serverless, backendless, databaseless, and AWSless!

+
    +
  • Unlimited web apps.
  • +
  • Unlimited users.
  • +
  • 1 GB storage included.
  • +
  • Unlimited extra storage at $1/month per GB.
  • +
  • All features included.
  • +
-
+
-
-

Who's behind this?

+
-

This product is the work of Daniel Vassallo and Justin Berman. We're a small independent business, structured to be lean, - profitable, and sustainable. We're here for the long haul. -

+
+

Who's behind this?

-

If you have any questions, or there's anything we can do to help you with your web app, please get in touch. Thank you!

-
+

This product is the work of Daniel Vassallo and Justin Berman. We're a small independent business, structured to be lean, + profitable, and sustainable. We're here for the long haul. +

-
\ No newline at end of file +

If you have any questions, or there's anything we can do to help you with your web app, please get in touch. Thank you!

+
+ +
\ No newline at end of file diff --git a/src/partials/header.html b/src/partials/header.html index b6f5d37..48a0846 100644 --- a/src/partials/header.html +++ b/src/partials/header.html @@ -1,9 +1,6 @@
-
- +
+
-

Userbase

-

A database for frontend developers

-
- -
\ No newline at end of file +

A backend for frontend developers

+
\ No newline at end of file diff --git a/src/style.css b/src/style.css index 4caaf08..800ffe8 100644 --- a/src/style.css +++ b/src/style.css @@ -3,7 +3,13 @@ @tailwind components; body { - @apply pb-10 text-center; + @apply pb-10 text-center text-xl; +} + +@screen sm { + body { + @apply text-2xl; +} } a { @@ -23,15 +29,41 @@ h1 { } h2 { - @apply text-center text-3xl leading-tight mt-1 tracking-tight; + @apply text-center text-2xl leading-tight mt-1 tracking-tight; } h3 { - @apply text-center font-black text-4xl tracking-tight; + @apply text-center font-black text-3xl tracking-tight; } h4 { - @apply font-bold text-xl tracking-tight; + @apply font-bold text-2xl tracking-tight; +} + +#logo { + @apply w-64 +} + +@screen sm { + h1 { + @apply text-6xl; + } + + h2 { + @apply text-4xl; + } + + h3 { + @apply text-5xl; + } + + h4 { + @apply text-3xl; + } + + #logo { + @apply w-96 + } } ul { diff --git a/src/template.html b/src/template.html index 31cec2b..ef483ee 100644 --- a/src/template.html +++ b/src/template.html @@ -8,7 +8,7 @@ -
+
<%= require('html-loader!./partials/' + header + '.html') %> <%= require('html-loader!./pages/' + page + '.html') %> <%= require('html-loader!./partials/' + footer + '.html') %> diff --git a/tailwind.config.js b/tailwind.config.js index 0795607..426fbae 100644 --- a/tailwind.config.js +++ b/tailwind.config.js @@ -4,6 +4,11 @@ module.exports = { colors: { yellowish: '#ffe77a', blackish: '#1a2a30' + }, + width: { + '72': '18rem', + '84': '21rem', + '96': '24rem' } }, fontFamily: {