Giter Club home page Giter Club logo

indiestack's Introduction

Open Source Serverless Tech Stack for Indie Hackers

This is a reference repo based on Next.js.

Components

  • Next.js
  • TailwindCSS
  • Zapatos
  • Postgres
  • node-pg-migrate for database migrations. dotenv is needed for environment variables to work.
  • pnpm for package management
  • @upstash/qstash for queue

Get Started

- Clone this project to your local machine
- Run `pnpm i` to install dependencies
- Copy over `.env.example` to `.env` and fill in the values

Developing

Once you've created a project and installed dependencies with npm install (or pnpm install or yarn), start a development server:

pnpm run dev

# or start the server and open the app in a new browser tab
pnpm run dev -- --open

Building

To create a production version of your app:

pnpm run build

You can preview the production build with pnpm run preview.

To deploy your app to the cloud, check out Next.js deployment documentation.

Exploiting Next.js Data Cache and React cache

Public layout doesn't make any user specific requests. But (app)/layout does. This composition can be reused elsewhere in the folder structure too.

Inspiration

Settings

Read through .env.example for basic settings.

Forms

Create a jsonschema and register it in ajvSetup.ts. The component DeclarativeForm defined in @/components/forms/index will use it to validate the data (via a server action) before triggering the onSubmit function.

Property Level Settings

Defined in properties.settings.

Steps to introduce a new setting:

  • Update schema in schemas
  • Update the type in zapatos/custom/PgPropertySettings.d.ts

indiestack's People

Contributors

manuganji avatar

Stargazers

 avatar

Watchers

 avatar

indiestack's Issues

Permissions Management

  • Admin - can manage properties
  • Property Admin - can create pages, manage property users
  • Property User - can only use the functions that the property offers
  • Org admin can manage org members
  • Assets are referenced to the org
  • Ability to switch org
  • Org members access the assets of their org

Property Management

  • Connect a new domain to Vercel
  • Manage domain email provider
  • Add analytics - low priority

Feature Flags

  • Ability to turn on or off certain features
  • Checking if the feature exists in the right places
  • Compose the Sidebar based on features?

Authentication

  • Remove Next Auth
  • Implement Email
  • Implement Sessions
  • Implement Email Auth

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.