Overview
Remix Indie Bare Stack is a fork of the Remix Indie Stack. It offers a variety of features for developers, including the use of better-sqlite3 and SQL statements instead of Prisma ORM, Litestream setup, dependency injection and service-oriented architecture for state management, and more. The stack also includes features like Fly app deployment with Docker, a production-ready SQLite database, healthcheck endpoint for Fly backups, GitHub Actions for deployment, email/password authentication with cookie-based sessions, and various tools for styling, testing, code formatting, linting, and static typing. Developers can also customize the stack by forking it and making their own modifications.
Features
- Replaces Prisma ORM: Uses better-sqlite3 and SQL statements instead of Prisma ORM for improved performance and flexibility.
- Litestream setup: Includes Litestream, a tool for capturing database changes and replicating them to a backup database for added reliability and data durability.
- No Cypress for end-to-end testing: Does not include Cypress for end-to-end testing, allowing developers to choose their preferred testing framework.
- No mocking library: Does not include a mocking library, promoting the use of real dependencies for more accurate testing.
- Dependency injection and service-oriented architecture: Provides a clear life cycle management of state through dependency injection and a service-oriented architecture.
- Fly app deployment with Docker: Enables easy deployment of the app using Docker containers on the Fly platform.
- Production-ready SQLite Database: Includes a SQLite database that is ready for production use.
- Healthcheck endpoint for Fly backups region fallbacks: Provides a healthcheck endpoint to ensure the availability of Fly backups and region fallbacks.
- GitHub Actions for deploy on merge to production and staging environments: Automates the deployment process by triggering deployments on merge to production and staging branches using GitHub Actions.
- Email/Password Authentication with cookie-based sessions: Offers authentication functionality using email/password authentication and cookie-based sessions.
- Database ORM with Prisma: Includes a database ORM (Object-Relational Mapping) with Prisma, allowing developers to interact with the database using a convenient interface.
- Styling with Tailwind: Uses Tailwind CSS for easy and customizable styling of the app.
- Unit testing with Vitest and Testing Library: Supports unit testing with Vitest and Testing Library, providing a comprehensive testing solution.
- Code formatting with Prettier: Includes Prettier, a code formatting tool that ensures consistent and legible code.
- Linting with ESLint: Provides linting support using ESLint to enforce coding standards and detect potential errors.
- Static Types with TypeScript: Supports static typing with TypeScript, allowing for better code organization and catching errors at compile time.
Summary
Remix Indie Bare Stack is a powerful development stack that offers a range of features and tools to streamline the development process. It includes alternative technologies like better-sqlite3 and SQL statements instead of Prisma ORM, Litestream for database backups, and a focus on dependency injection and service-oriented architecture. The stack also provides convenient features like Docker-based deployment with Fly, email/password authentication with cookie-based sessions, and support for testing, formatting, linting, and static typing. With its flexibility and customization options, developers can easily tailor the stack to their specific needs.