GithubHelp home page GithubHelp logo

cameronapak / freedom-stack Goto Github PK

View Code? Open in Web Editor NEW
29.0 3.0 1.0 407 KB

A freeing full-stack web stack.

JavaScript 5.71% Astro 64.54% CSS 1.46% TypeScript 28.29%
astrojs astrojs-boilerplate astrojs-template indie-hackers astro-db htmx lucia-auth

freedom-stack's Introduction

Freedom Stack, by faith.tools

A freeing full-stack web stack.

Netlify Status

freedom stack

See Demo

Comes With

  • CSS-based component library (daisyUI)
  • Blog
  • Database (Astro DB managed via Astro Studio)
  • Auth (Lucia)
  • Simple Web Hosting (Netlify)

Stack

Note: Astro Studio is currently in closed beta. If you do not already have an account, you'll need an invitation.

UI Layer

Interactivity Layer

  • TypeScript - For type safety.
  • AlpineJS - For state management and interactivity.
  • HTMX - For sending HTML partials/snippets over the wire.

Backend Data Layer

  • Astro DB - Astro DB is a fully managed SQL database that is fast, lightweight, and ridiculously easy-to-use. (Can use Turso, if desired.)
  • Drizzle ORM - A modern SQL database toolkit.
  • Lucia - A modern authentication library for Astro.

I owe a huge thank you to Thomas McInnis for his tutorial on Astro and Lucia.

Hosting

I have included the Netlify adapter in the starter kit. You can swap it out for others, such as Vercel.

How To Use

To create your own instance of this codebase, click the "Use this template" button on the repo's home page.

Environment Variables

This project uses the following environment variables:

Variable Description Required
SENTRY_DSN Sentry Data Source Name for error tracking Optional
SENTRY_AUTH_TOKEN Authentication token for Sentry Optional
SENTRY_PROJECT Sentry project identifier Optional
ASTRO_STUDIO_APP_TOKEN Token for Astro Studio integration Required

Sentry Configuration (Optional)

For Sentry error tracking, you can set up the following variables. For more information, refer to the Sentry Astro integration guide.

Astro Studio

The ASTRO_STUDIO_APP_TOKEN is required for integrating with Astro Studio features.

Make sure to set these variables in your environment or .env file before running the application.

Vision

I dream of a lightweight, simple web development stack that invokes a fun web experience at the cheapest possible maintainance, backend, and server cost. As close to free as possible.

Core Principles

  • Approachable — I want those new to web development to feel comfortable using this stack. Things like database management should feel intuitive. Remove barriers of traditional JavaScript frameworks, such as excessive boilerplate code or intense state management. Go back to the basics of web development. (While this is not vanilla, the dev experience will feel very natural.)
  • Flow-able — Use an HTML-first approach, where almost all of the work is done on the DOM layer: styling, structuring, and interactivity. An opinionated stack helps you avoid analysis paralysis of trying to decide what tooling to pick or how to put things together. Instead, spend your thinking time building. This simple stack helps you focus and get in the flow of code faster. Fast setup. Fast building. Fast shipping.
  • Pocket-friendly — Using this stack will be financially maintainable to anyone, especially indie hackers and those creating startup sites / web apps.

Contributions

I'll consider a contribution, but please open an issue if you'd like to contribute.

freedom-stack's People

Contributors

cameronapak 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

Watchers

 avatar  avatar  avatar

Forkers

wanghaisheng

freedom-stack's Issues

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.