Welcome to UseNuxt, a comprehensive SaaS starter project built with Nuxt.js, designed to kickstart your project with all the essential features you need. With built-in team management, authentication, and more, UseNuxt provides a solid foundation for building robust SaaS applications.
- Team Management: Easily manage team members and roles right out of the box.
- Authentication: Secure authentication system integrated.
- Database Management: Commands to manage your database schema and data.
- Modern UI: Utilizes @nuxt/ui for a sleek, modern user interface.
- SEO Friendly: Built-in SEO optimization for better visibility.
- Fully Customizable: Flexible codebase that allows for easy customization and scalability.
Experience UseNuxt in action and see firsthand what it can do for your next project.
π Visit the Demo
Before you begin, ensure you have Node.js installed on your machine. Then, follow these steps to get UseNuxt up and running:
# Clone the repository
git clone https://yourrepository.com/nuxt-app.git
# Navigate into the project directory
cd nuxt-app
# Install dependencies
npm install
# Prepare your environment (husky hooks, etc.)
npm run prepare
UseNuxt comes with several pre-configured npm scripts to help with your development:
npm run dev
: Starts the development server.npm run build
: Builds your application for production.npm run preview
: Preview the generate static site.npm run start
: Launches the built application.npm run lint
: Lints and fixes files.npm run db:push
: Pushes schema changes to your database.npm run db:gen
: Generates database artifacts.
UseNuxt leverages a powerful stack of technologies and libraries to provide a comprehensive foundation for building SaaS applications. Here's a closer look at each dependency and its role in the project:
-
Framework & UI:
nuxt
(π₯): The core framework that powers UseNuxt, providing server-side rendering, static site generation, and a powerful module ecosystem.@nuxt/ui
(π¨): A modern UI library from Nuxt team, offering ready-to-use components that ensure a sleek and uniform interface.vue
(β‘): The progressive JavaScript framework for building user interfaces, used under the hood by Nuxt.vue-router
(π§): The official router for Vue.js, managing navigation within the application.
-
Authentication & Security:
lucia
(π): A simple, lightweight authentication library that supports multiple strategies and easy integration.@lucia-auth/adapter-postgresql
(πΎ): Provides Lucia with PostgreSQL adapter for user data storage and retrieval.@lucia-auth/oauth
(π): Adds OAuth authentication support, enabling login with external providers.
-
Database & ORM:
drizzle-orm
(π§±): A flexible ORM for managing and querying the database with ease, supporting complex data structures.postgres
(π): The node.js client for PostgreSQL, allowing direct database queries and connections.
-
Utilities:
@iconify/json
(πΌοΈ): Offers a comprehensive collection of icons, easily accessible within the project for UI embellishments.slugify
(π): Converts strings to clean URLs, making them more friendly and accessible.uid
(π): Generates unique identifiers, useful for database keys, session IDs, etc.stripe
(π³): Integrates payment processing, enabling the project to handle subscriptions, purchases, and financial transactions.
-
Development Tools & Linting:
eslint
(π¨): Ensures code quality and consistency through static analysis of the codebase.@antfu/eslint-config
(π§): Provides a set of ESLint rules for Vue and Nuxt projects, promoting best practices.husky
(πΆ): Manages Git hooks, automating tasks like linting before commits to maintain code quality.
-
Styling & Animation:
@nuxtjs/tailwindcss
(π¬οΈ): Integrates Tailwind CSS for rapid UI development with utility-first CSS classes.@formkit/auto-animate
(β¨): Adds automatic animations to Vue components, enhancing user experience with smooth transitions.
-
Analytics & SEO:
@nuxtjs/plausible
(π): Lightweight and privacy-friendly analytics, offering insights without compromising user privacy.
These dependencies are carefully selected to provide a robust, scalable foundation for your SaaS application, ensuring that you have all the tools you need for development, deployment, and beyond.
Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Distributed under the MIT License. See LICENSE
for more information.