Overview:
Remix Indie Stack is a comprehensive stack for building full stack applications. It offers a range of features and tools to streamline the development process. With Remix Indie Stack, developers can easily deploy their application with Docker, use a production-ready SQLite database, implement healthcheck endpoints for Fly backups region fallbacks, automate deploy on merge with GitHub Actions, enable email/password authentication with cookie-based sessions, utilize a database ORM with Prisma, style their application with Tailwind, perform end-to-end testing with Cypress, mock third party requests with MSW, conduct unit testing with Vitest and Testing Library, ensure code formatting with Prettier, enforce linting with ESLint, and implement static types with TypeScript. Developers also have the flexibility to customize and modify the stack according to their preferences.
Features:
- Fly app deployment with Docker
- Production-ready SQLite Database
- Healthcheck endpoint for Fly backups region fallbacks
- GitHub Actions for deploy on merge to production and staging environments
- Email/Password Authentication with cookie-based sessions
- Database ORM with Prisma
- Styling with Tailwind
- End-to-end testing with Cypress
- Local third party request mocking with MSW
- Unit testing with Vitest and Testing Library
- Code formatting with Prettier
- Linting with ESLint
- Static Types with TypeScript
Installation:
- Click the button to create a Gitpod workspace with the project set up and Fly pre-installed.
- Before starting development, run the stack’s
remix.init
script and commit the changes made to your project. - To start the development server, use the command
npm run dev
. - The database seed script creates a new user with some data to get started:
- Email: rachel@remix.run
- Password: racheliscool
- Relevant code for the app’s functionality can be found in the following files:
- creating users, and logging in and out:
./app/models/user.server.ts
- user sessions, and verifying them:
./app/session.server.ts
- creating, and deleting notes:
./app/models/note.server.ts
- creating users, and logging in and out:
Summary:
Remix Indie Stack is a powerful stack for building full stack applications. It offers a wide range of features and tools, making it convenient for developers to develop, deploy, and maintain their applications. With its extensive capabilities and customizable nature, Remix Indie Stack provides developers with the flexibility to create applications tailored to their specific needs.