• Stars
    star
    236
  • Rank 170,480 (Top 4 %)
  • Language
    TypeScript
  • Created about 3 years ago
  • Updated over 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Remix with brilliant bells and useful whistles

Remix + Supabase starter for Typescript lovers

Remix Starter Kit is an opinionated boilerplate based off of Remix, with all the bells and whistles you would want ready, up and running when starting a Remix project with Supabase.


Out of the box you get all the essentials

  • Typescript as the language choice
  • Tailwind CSS for quick styling without getting out of your HTML
  • Daisy UI for pre-made TailwindCSS component classes
  • Headless UI + React Hot Toast for robust headless logic you can use for components like Dialog/Modal, Dropdown, List, etc.
  • WorkSans as the App font
  • Icons through React-icons for on-demand, tree-shakeable icons
  • ESLint for static code analysis
  • Prettier for code formatting (even for your TailwindCSS classes - sorted as per Tailwindlab reccomendations)
  • Playwright for reliable end-to-end test cases (+ end-to-end test cases for the homepage and the sign-in page)

with Supabase support

  • Authentication System with Supabase GoTrue
  • User Profiles available on /profile as an example for Supabase PostgREST (CRUD API) (retreival-only for now)
  • User Avatar with Supbase Storage(AWS S3 backed effortless uploads) available on /images/[bucket-name]/[image-name] resource routes. When retrieving you use the SDK server-side, and when uploading you use the client-side SDK loaded from CDN to upload the images to Supabase managed buckets, which are linked to profile on successful uploads.

and a bunch of pre-made, hand-rolled(easily replace-able) components, that you almost always end up installing/using for any non-trivial project

Note: Refer the basic branch for a bare minimum starter structure with all the essentials.

Quick Start

The best way to start with this template is to click "Use this template" above, create your own copy and work with it

Development

To start the project locally, run:

npm run dev

which kickstarts the Remix development and build server as well as TailwindCSS compilation in the watch mode. Open http://localhost:3000 in your browser to start working.

Check package.json for the full list of commands available at your disposal.

How to Setup Supabase for Remix Starter Kit?

If new to Supabase

  • Create account at Supabase
  • Create a Organisation, and a project

Once done, or if you already have a Supabase project

  • Copy the generated project's API authentication details from https://app.supabase.io/project/<your-awesome-remix-project>/api?page=auth
  • Place the details in .env as SUPABASE_URL and SUPABASE_KEY
  • Install NPM dependencies, by running npm install or npm i

Remix Starter Kit supports user profiles and user avatars. To get the profile table and storage ready, execute the following queries at https://app.supabase.io/project/<your-awesome-remix-project>/editor/sql

-- Create a table for Public Profiles
create table profiles (
  id uuid references auth.users not null,
  username text unique,
  avatar_url text,
  website text,
  updated_at timestamp with time zone,

  primary key (id),
  unique(username),
  constraint username_length check (char_length(username) >= 3)
);

alter table profiles enable row level security;

create policy "Public profiles are viewable by everyone."
  on profiles for select
  using ( true );

create policy "Users can insert their own profile."
  on profiles for insert
  with check ( auth.uid() = id );

create policy "Users can update own profile."
  on profiles for update
  using ( auth.uid() = id );

-- Set up Storage!
insert into storage.buckets (id, name)
values ('avatars', 'avatars');

create policy "Avatar images are publicly accessible."
  on storage.objects for select
  using ( bucket_id = 'avatars' );

create policy "Anyone can upload an avatar."
  on storage.objects for insert
  with check ( bucket_id = 'avatars' );

Note When going live remember to configure SUPABASE_URL and SUPABASE_KEY in your deployment service provider like Vercel

What you'll get?

With all the configs done right, you should get the following screens/views up and running

Sign In


Sign In


Sign In (with validation errors)


Sign In


Sign Up


Sign In


Profile (default landing)


Sign In


Profile Update Screen (with image upload)


Sign In

Recommendations

  • Use npm-check-updates to ineractively update your dependencies using ncu -i

License

MIT

More Repositories

1

awesome-solid-js

Curated resources on building sites with SolidJS, a brand new way(now 1.0) to build Javascript based interactive web applications. A very close looking cousin to React/JSX by syntax, and to Svelte by few important principles(compiler and fine-grained reactivity), it's a highly optimised way to deliver web applications with best-in-class performance.
873
star
2

awesome-astro

Curated resources on building sites with Astro, a brand new way to build static and server rendered sites, with cross-framework components, styling and reactive store support.
639
star
3

astro-ink

Crisp, minimal, personal blog theme for Astro
Astro
548
star
4

svelte-starter-kit

Svelte with brilliant bells and useful whistles
Svelte
450
star
5

next-starter-kit

Next.js with brilliant bells and useful whistles
TypeScript
169
star
6

nuxt-starter-kit

Nuxt3 with brilliant bells and useful whistles
Vue
137
star
7

awesome-svelte-kit

Curated resources on building sites with SvelteKit - A server-less-first answer to "the Next.js experience" by the Svelte community
114
star
8

solid-starter-kit

SolidJS with brilliant bells and useful whistles
TypeScript
69
star
9

awesome-bun

Bun is a fast all-in-one JavaScript runtime. This is a central reference to many awesome things about bun out there.
60
star
10

astro-me

Crisp, minimal, personal portfolio theme for Astro
Astro
39
star
11

svelte-notion-kit

Brings your Notion pages to SvelteKit
Svelte
34
star
12

ng-starter-kit

Angular with Supabase, and other bells and whistles
TypeScript
16
star
13

astro-starter-kit

My blog, beautiful blog, built with beautiful Astro
Astro
16
star
14

havyt

Learn Fastify step-by-step, by building a Recipe App. Follow the outline below/commits to see what's new at each level. Create a issue if something doesn't work for you.
TypeScript
12
star
15

remix-edge-kit

TypeScript
11
star
16

remix-ink

TypeScript
8
star
17

new-kid-to-bloc

Flutter/Dart explorations - A movie app (Very WIP)
Dart
7
star
18

awesome-vanilla-extract-css

4
star
19

github-action-ssg-publish-drafts

TypeScript
4
star
20

microcosm

πŸ¦„ Micro Cosmos of Microservices aspiring to be seen as a well-ordered whole
JavaScript
4
star
21

houdini-kit

Repo for my SvelteKit + Houdini YT series https://www.youtube.com/playlist?list=PLm0ILX0LGQk_220vvpsbyXH2VesRlCm-E
Svelte
4
star
22

amazeballs

All the good stuff - Next.js, Remix, Mono-repo and other goodies!
CSS
3
star
23

svelte-pizzeria

Aspires to be a one-stop Pizza shop built with Svelte
CSS
3
star
24

havyt-next

TypeScript
2
star
25

astro-guide

Astro
2
star
26

how-to-react

Proven principles and rules on writing code with React
1
star
27

salt-desktop

HTML
1
star
28

svelte-todo

Svelte explorations
CSS
1
star
29

react-movies

An example React.js isomorphic app
JavaScript
1
star
30

Mongoseer

Aspring MongoDB manager for local databases using Node, Coffee and Angular.js
JavaScript
1
star
31

cyvy

Personal CV generator
JavaScript
1
star
32

lyt

just a lytweight JSON server
JavaScript
1
star
33

flyt

Super-light javascript library to flatten arrays
JavaScript
1
star
34

vue-starter-kit

Vue
1
star
35

mbe

Starting point for BE Node.js projects
TypeScript
1
star
36

contentful

PoC and stuff!
JavaScript
1
star
37

is_it

basic data validation library
PHP
1
star
38

Sorbet

A dessert of Gulp recipes for quickly building front-ends
JavaScript
1
star
39

rex

TypeScript
1
star
40

now

A nifty li'l application that aspires to help you with hanging information/thoughts you'd like to re-visit
JavaScript
1
star
41

salt

HTML
1
star
42

calcutta

HTML
1
star
43

goodsee

A movie app that aspires to be a potpourri of all the React best patterns/practices/parts to inspire the foundation of something much better/bigger in size and scale
TypeScript
1
star
44

stayin

A humble AirBnB clone(aspires to be) built with React, Vue and Angular - also containing the server side code and hosted inside a mono-repo(not lerna yet) to save the dev(in me) from repetitive tooling setups!
JavaScript
1
star
45

attic

But the real interesting stuff is in the cellar and the attic
TypeScript
1
star
46

yt-ts-react-form

TypeScript
1
star
47

tw-starter-kit

Tailwind. Quick
HTML
1
star
48

attic-react

React client App for the Attic server built with CRA
JavaScript
1
star
49

aNGry

is not angry actually - and just exploring Angular 5+ architecture for a robust application
TypeScript
1
star
50

8flix

No! it ain't gonna eat netflix
TypeScript
1
star
51

acu

Astro Content Universe
JavaScript
1
star
52

mfs

Absolutely minimalistic starting point for modern Full-stack, type-safe development, with an API server(Node.js) and a UI client(Vite)
TypeScript
1
star
53

thoughtwell-react

JavaScript
1
star
54

gyza

Food Ordering Mobile + Web App
TypeScript
1
star
55

habyt

Habyt is a habit manager that lets you keep track of your daily habits through CLI.
Rust
1
star
56

qrius

A very minimal HackerNews clone, built outta qriusity
TypeScript
1
star
57

Embrace

A wishful boilerplate which aspires to provide most of the bells and whistles required for almost every other Node.js project.
JavaScript
1
star