SveltePak is a tool that helps you build and launch web apps quickly. It offers smaller bundle sizes and fast page loads, aiming to enhance your development experience. You can make a one-time purchase for lifetime access to unlimited projects and support.
Build and launch web apps quickly using Svelte's efficient framework, resulting in smaller bundle sizes and faster page loads compared to React.
Get access to SveltePak's repository with a one-time payment, enabling unlimited use of the code for any number of projects.
Customers receive support through GitHub issues, allowing them to address problems and request help directly from the platform's development community.
Allows building as many projects as you want with the provided starter kit and code.
Includes SvelteKit and Vite for building the frontend applications.
Uses Prisma for ORM, supporting a variety of databases.
Provides Lucia Auth for integrating user authentication.
Offers Shadcn/UI Svelte for ready-made UI components.
Utilizes Headless UI for building accessible component headless libraries.
Incorporates Tailwind CSS for styling applications.
Includes SvelteKit i18n for adding multiple languages support.
Uses SvelteKit Email for managing email functionalities.
Integrates LemonSqueezy for handling payment processes.
Employs ESLint for identifying and fixing problems in JavaScript code.
Uses Prettier for code formatting and consistent coding style.
Includes support for SvelteKit and Vite for building applications.
Uses Prisma ORM for database management.
Lucia Auth is supported for handling user authentication.
Built with SUI-Components and Tailwind CSS for styling.
Supports SvelteKit Email for sending emails.
LemonSqueezy is integrated for payment processing.
SvelteKit I18n is used for internationalizing applications.
ESLint and Prettier are included for code linting and formatting.
Recommended extensions for VSCode include Svelte for VSCode, Tailwind CSS IntelliSense, Prettier, ESLint, and i18n-ally. Additional recommended extensions are indent-rainbow and Pretty TypeScript Errors.
Recommended extensions for WebStorm/IntelliJ IDEA include Svelte, Tailwind CSS, Prettier, ESLint, and i18n-ally.
Guides users on updating their code base by performing a rebase of their code onto the latest version. Commands provided include `git pull` to update the code and `git rebase --continue` for resolving conflicts.
Instructs users to update dependencies by running the command `pnpm install`, which installs the latest versions of all dependencies.
Explains how to update the database schema after code updates using the command `pnpm db-migrate`, ensuring the database is in sync with the latest code base.
SveltePak uses Prisma ORM for database access, supporting a variety of databases such as PostgreSQL, MySQL, SQLite, and SQL Server. This allows easy integration within your application by providing an auto-generated query builder for TypeScript & Node.js.
You can update your database schema by editing the file `./db/schema.prisma`. This feature helps in maintaining and evolving the database structure.
After updating your schema, generate the Prisma client with the command `pnpm db:generate`. This creates a client that allows easy database interaction.
After generating the Prisma client, you can migrate your database with the command `pnpm db:migrate` to apply schema changes.
A set of predefined commands such as `pnpm db:studio` for opening the Prisma Studio, `pnpm db:reset` for resetting the database, and `pnpm db:deploy` for deploying migrations. These commands help in managing and maintaining the database efficiently.
Defines API endpoints in the `src/trpc/routes` folder. New endpoints can be added by creating a corresponding file and importing it into `src/trpc/index.ts`.
Allows definition of API schemas in separate files for type safety. Schemas are imported and used in endpoints to enforce data structure.
A `ctx` object provides information about the request and can be extended using middleware in the `src/trpc/context` folder. Useful for handling authentication and logging.
Provides guidelines to access tRPC endpoints from a frontend application by calling endpoints and handling responses.
Checks if the user is authenticated and returns an error if not. Useful for ensuring that only authorized users can access certain endpoints.
Checks if the user has the required role and returns an error if not. This ensures that only users with specific roles can perform certain actions.
Logs the request and response to the console. This is helpful for debugging and keeping track of the API interactions.
Lucia Auth provides a simple and secure API for handling user authentication, including sign up, sign in, sign out, and password reset.
A server-side file for authentication hooks, adding a layer of automation for user authentication, database transactions, and API requests.
Allows configuration of Lucia Auth, letting you define extra attributes to retrieve from users by modifying the `getSessionUser` function.
Enhances security by requiring a second factor, such as a mobile device, for authentication.
Supports OTPs for login and password reset via email or SMS.
Built-in support for OAuth authentication, allowing integration with platforms like GitHub. Configuration is done in the oauth.clients.+ file.
The application provides predefined user roles such as ADMIN and USER, each with differing access levels to manage parts of the application. Additional roles can be added by modifying the Role enum in the src/db/schema.prisma file.
The application includes predefined team roles like MEMBER, BILLING, ADMIN, and OWNER, offering different access levels to the application. They are defined in the TeamMemberRole enum.
The SuperAdmin role grants the highest level of access in the application, allowing management of all users and roles.
Provides the current user data, including user, team, role, personal team status, team memberships, admin status, and subscription details.
Allows checking if a user is a member of a specific team.
A helper to determine if the current user has admin privileges.
Checks if the current user has a specified role.
Verifies if the current user is the same as a provided user ID.
Includes middlewares for protecting routes and includes examples of using auth and role middlewares in bRPC.
Enables multiple users to form teams and manage data within their respective entities. Personal teams are automatically created for each user, similar to platforms like Vercel.
Offers the ability to easily deactivate teams feature. Users can remove team-related UI and server-side logic without altering the database schema.
Integrate AI capabilities into your SaaS application for enhanced features.
Provides options for managing and storing data securely.
Allows integration of billing services to handle transactions and payments.
Facilitates the sending and management of emails within the application.
Enables sending of various notifications to users.