Sakai Nuxt is a Nuxt-based application template derived from the original Sakai Vue project. This template enhances the development experience by leveraging Nuxt features like server-side rendering (SSR), static site generation (SSG), and seamless file-based routing.
Live Demo: sakai-nuxt.netlify.app
The original Sakai Vue template is a Vue-based application starter powered by Vite. It provides a robust foundation for building scalable, performant web applications with features like:
- Minimalistic structure for quick setup.
- PrimeVue integration for UI components.
- Tailwind CSS for responsive and modern styling.
Visit the original Sakai Vue repository here.
Sakai Nuxt builds on this foundation, introducing the power and flexibility of Nuxt.js:
- Server-Side Rendering (SSR): Boosts performance and SEO by rendering pages on the server.
- Static Site Generation (SSG): Enables easy deployment of static pages for fast-loading, SEO-friendly sites.
- File-Based Routing: Simplifies route creation with Nuxt's pages directory.
- Nuxt Modules: Extend functionality with ready-to-use modules for SEO, analytics, and state management.
- Nuxt 3 Framework
- PrimeVue Integration for modern UI components.
- Tailwind CSS for utility-first styling.
- Configurable layout and menu through
layouts/
andpages/
. - Easily extendable and customizable.
Clone the repository and install dependencies:
git clone https://github.com/suprimpoudel/sakai-nuxt
cd sakai-nuxt
npm install
Run the development server with the following command:
npm run dev
Open your browser and navigate to http://localhost:3000 to view the application.
To build the project for production:
npm run build
Start the production server:
npm run start
Deploy your static site using Nuxt's static generation:
npm run generate
To build the Docker image, run the build.sh script with a tag name:
build.sh <TAG_NAME>
Run Docker Image
To run the Docker image, use docker-compose:
docker-compose up
• Dockerfile: Defines the multi-stage build process for the Docker image.
• docker-compose.yaml: Configuration for running the application in Docker.
• build.sh: Bash script to build the Docker image.
For more details on the Docker process, review these files in the repository.
pages/
: Houses application pages, automatically configured for routing.layouts/
: Defines the main layout for the app.composables/
: Contains reusable logic, similar to Vue'ssrc/layout/composables
.assets/
: Holds static assets such as styles and images.nuxt.config.js
: Centralized configuration file for Nuxt.
The main menu is defined in the layouts/AppMenu.vue
file. Update the model
property to customize menu items.
Contributions are welcome! Feel free to fork the repository, submit issues, or create pull requests.