Rails 7 + Vite + Vue 3 + Pinia Demo App
The Rails + Vite + Vue + Pina Demo App is a demo single-page application based on Ruby on Rails 7.0.2. It uses Vue 3 + Pina and is compiled with Vite. The application offers a variety of features necessary for building a real-world app, such as Front / Admin namespaces, I18n, forms with progress and error handling, authentication with Devise, pagination with Kaminari, dynamic search filters with Ransack, Websockets using ActionCable, and a Bootstrap-like grid layout utilizing CSS Grid layout.
The Rails + Vite + Vue + Pina Demo App provides a comprehensive example of integrating Vue with Ruby on Rails using modern tools and practices. With features like I18n, forms, authentication, and more, this demo app offers a solid foundation for building efficient and maintainable single-page applications. While the CSS handling may require some adjustments, overall, this demo app serves as a valuable resource for developers looking to leverage the power of Vue.js and Rails together. Contributions and feedback are welcome, and the project is licensed under MIT.
Vite is a build tool that aims to provide a faster and leaner development experience for modern web projects
Vue.js is a lightweight and flexible JavaScript framework that allows developers to easily build dynamic and reactive user interfaces. Its intuitive syntax, modular architecture, and focus on performance make it a popular choice for modern web development.
ESLint is a linter for JavaScript that analyzes code to detect and report on potential problems and errors, as well as enforce consistent code style and best practices, helping developers to write cleaner, more maintainable code.
Pinia is the official state management library for Vue.js. It provides a simple and intuitive API with full TypeScript support, devtools integration, and modular design. Pinia replaces Vuex as the recommended state management solution for Vue 3.
RollupJS is a popular and efficient JavaScript module bundler that takes the code from multiple modules and packages them into a single optimized file, minimizing the overall size of the application and improving its performance.