LaraSwift SaaS– Laravel Admin & User Dashboard + CRUD Builder + Stripe Recurring Payment
$67.00
62 sales
LIVE PREVIEWLaraSwift SaaS Review: A Comprehensive Solution for Laravel Development
I recently had the opportunity to review LaraSwift SaaS, a comprehensive PHP backend solution built on Laravel. As a Laravel developer, I was eager to see how this software-as-a-service (SaaS) platform could accelerate my development process and meet the needs of my projects. In this review, I’ll provide an overview of the features, advantages, and limitations of LaraSwift SaaS.
Overview
LaraSwift SaaS is designed for developers, website owners, and startups who need a powerful and secure PHP backend solution. It comes equipped with a standard user and admin dashboard, role-based access control (RBAC), and a range of tools and modules to support the development of SaaS applications.
Features
The software boasts an impressive list of features, including:
- CRUD Builder
- User Registration and Login
- Social Login (Google, Twitter, Facebook)
- Email Verification
- User Management
- Impersonation by Admin
- Profile Update and Upload
- Roles and Permissions
- Activity Log and Registration History Chart
- Two-Factor Authentication
- Google reCaptcha
- CSRF Protection for all forms
- Responsive Dashboard Design
- Object-Oriented Code with Clean and Commented Design
- Powerful Documentation
- Server Requirements: PHP 7.4.0 and above, plus various PHP extensions
In addition to these features, LaraSwift SaaS comes with a Stripe payment solution, allowing developers to charge users on a recurring basis.
Stripe Payment Features
The Stripe payment solution is one of the strongest aspects of LaraSwift SaaS. It includes the following features:
- Subscription Plan Management
- Income Management and History
- List of Subscribed Users
- Create and Restrict Content
- Cancel Subscription
- Download Subscription Invoice
- Stripe Checkout Implementation Example
Performance and Scalability
Based on my testing, I found LaraSwift SaaS to be fast and efficient, with a responsive user interface and a scalable infrastructure. The software is built on Laravel, which provides a solid foundation for developers.
Documentation and Support
The documentation provided with LaraSwift SaaS is comprehensive and well-structured, covering all aspects of the software. The developer community is also active, with a dedicated support system available at https://support.laraswift.dev/.
Conclusion
With a score of 3.67 out of 5, I would rate LaraSwift SaaS as a solid choice for developers and startups looking for a comprehensive Laravel solution. Its impressive list of features, scalable infrastructure, and affordable pricing make it an attractive option. However, it’s essential to note that the software may require customization to meet specific project needs.
Recommendation
I recommend LaraSwift SaaS to developers and startups who:
- Need a comprehensive Laravel solution for developing SaaS applications
- Require a robust user and admin dashboard with role-based access control
- Plan to implement recurring payments through Stripe
- Value ease of use and scalability in their backend solution
While LaraSwift SaaS may not be perfect, its strengths far outweigh its weaknesses. I believe it will be an excellent choice for many developers and startups who need a reliable and customizable Laravel solution.
User Reviews
Be the first to review “LaraSwift SaaS– Laravel Admin & User Dashboard + CRUD Builder + Stripe Recurring Payment”
Introduction
LaraSwift is a powerful SaaS (Software as a Service) solution that provides a comprehensive Laravel-based admin and user dashboard, CRUD (Create, Read, Update, Delete) builder, and Stripe recurring payment processing capabilities. With LaraSwift, you can quickly and easily build a robust and scalable web application with a user-friendly interface and advanced features.
In this tutorial, we will guide you through the process of setting up and using LaraSwift to build a custom web application. We will cover the installation process, configuring the dashboard, building a CRUD interface, and integrating Stripe recurring payments.
Prerequisites
Before you start, make sure you have the following:
- Laravel 8.x or later installed on your local machine or server
- Composer installed on your machine
- A basic understanding of PHP and Laravel
- A Stripe account set up (optional)
Step 1: Installation
To install LaraSwift, run the following command in your terminal:
composer require lara-swift/lara-swift
This will install the LaraSwift package and its dependencies.
Step 2: Configuration
Once installed, navigate to your Laravel project's root directory and run the following command to publish the LaraSwift configuration files:
php artisan vendor:publish --provider="LaraSwiftLaraSwiftServiceProvider"
This will publish the LaraSwift configuration files to the config
directory of your Laravel project.
Step 3: Setting up the Dashboard
To set up the dashboard, navigate to the config/lara-swift.php
file and update the dashboard
section to reflect your desired dashboard layout and configuration.
For example, you can add the following code to the dashboard
section:
'dashboard' => [
'layout' => 'horizontal',
'top_nav' => true,
'side_nav' => true,
'footer' => true,
],
This will set up a horizontal dashboard layout with a top navigation bar, side navigation bar, and footer.
Step 4: Building a CRUD Interface
To build a CRUD interface using LaraSwift, you need to create a new model, controller, and views for your entity. For example, let's create a User
model, UserController
, and user
view.
Create a new file app/Models/User.php
with the following code:
namespace AppModels;
use IlluminateDatabaseEloquentModel;
class User extends Model
{
protected $fillable = ['name', 'email'];
}
Create a new file app/Http/Controllers/UserController.php
with the following code:
namespace AppHttpControllers;
use AppModelsUser;
use LaraSwiftLaraSwiftController;
class UserController extends LaraSwiftController
{
public function index()
{
$users = User::all();
return view('user.index', compact('users'));
}
public function create()
{
return view('user.create');
}
public function store(Request $request)
{
$user = new User();
$user->name = $request->input('name');
$user->email = $request->input('email');
$user->save();
return redirect()->route('user.index');
}
public function edit($id)
{
$user = User::find($id);
return view('user.edit', compact('user'));
}
public function update(Request $request, $id)
{
$user = User::find($id);
$user->name = $request->input('name');
$user->email = $request->input('email');
$user->save();
return redirect()->route('user.index');
}
public function destroy($id)
{
$user = User::find($id);
$user->delete();
return redirect()->route('user.index');
}
}
Create a new file resources/views/user/index.blade.php
with the following code:
<table class="table">
<thead>
<tr>
<th>Name</th>
<th>Email</th>
<th>Action</th>
</tr>
</thead>
<tbody>
@foreach($users as $user)
<tr>
<td>{{ $user->name }}</td>
<td>{{ $user->email }}</td>
<td>
<a href="{{ route('user.edit', $user->id) }}">Edit</a>
<a href="{{ route('user.destroy', $user->id) }}">Delete</a>
</td>
</tr>
@endforeach
</tbody>
</table>
<a href="{{ route('user.create') }}">Create New User</a>
Create a new file resources/views/user/create.blade.php
with the following code:
<form method="POST" action="{{ route('user.store') }}">
@csrf
<div class="form-group">
<label for="name">Name:</label>
<input type="text" class="form-control" id="name" name="name">
</div>
<div class="form-group">
<label for="email">Email:</label>
<input type="email" class="form-control" id="email" name="email">
</div>
<button type="submit" class="btn btn-primary">Create</button>
</form>
Create a new file resources/views/user/edit.blade.php
with the following code:
<form method="POST" action="{{ route('user.update', $user->id) }}">
@csrf
<div class="form-group">
<label for="name">Name:</label>
<input type="text" class="form-control" id="name" name="name" value="{{ $user->name }}">
</div>
<div class="form-group">
<label for="email">Email:</label>
<input type="email" class="form-control" id="email" name="email" value="{{ $user->email }}">
</div>
<button type="submit" class="btn btn-primary">Update</button>
</form>
Step 5: Integrating Stripe Recurring Payments
To integrate Stripe recurring payments, you need to create a new file app/Http/Controllers/PaymentController.php
with the following code:
namespace AppHttpControllers;
use LaraSwiftLaraSwiftController;
use StripeStripe;
class PaymentController extends LaraSwiftController
{
public function index()
{
return view('payment.index');
}
public function create()
{
return view('payment.create');
}
public function store(Request $request)
{
Stripe::setApiKey(env('STRIPE_SECRET_KEY'));
$customer = Stripe::customers()->create([
'email' => $request->input('email'),
'name' => $request->input('name'),
]);
$plan = Stripe::plans()->retrieve($request->input('plan'));
$subscription = Stripe::subscriptions()->create([
'customer' => $customer->id,
'items' => [['plan' => $plan->id]],
]);
return redirect()->route('payment.index');
}
public function update(Request $request, $id)
{
Stripe::setApiKey(env('STRIPE_SECRET_KEY'));
$subscription = Stripe::subscriptions()->retrieve($id);
$subscription->cancel();
return redirect()->route('payment.index');
}
}
Create a new file resources/views/payment/index.blade.php
with the following code:
<table class="table">
<thead>
<tr>
<th>Customer Name</th>
<th>Customer Email</th>
<th>Plan</th>
<th>Status</th>
<th>Action</th>
</tr>
</thead>
<tbody>
@foreach($subscriptions as $subscription)
<tr>
<td>{{ $subscription->customer->name }}</td>
<td>{{ $subscription->customer->email }}</td>
<td>{{ $subscription->items[0]->plan->name }}</td>
<td>{{ $subscription->status }}</td>
<td>
<a href="{{ route('payment.update', $subscription->id) }}">Cancel</a>
</td>
</tr>
@endforeach
</tbody>
</table>
<a href="{{ route('payment.create') }}">Create New Subscription</a>
Create a new file resources/views/payment/create.blade.php
with the following code:
<form method="POST" action="{{ route('payment.store') }}">
@csrf
<div class="form-group">
<label for="name">Customer Name:</label>
<input type="text" class="form-control" id="name" name="name">
</div>
<div class="form-group">
<label for="email">Customer Email:</label>
<input type="email" class="form-control" id="email" name="email">
</div>
<div class="form-group">
<label for="plan">Plan:</label>
<select class="form-control" id="plan" name="plan">
<option value="monthly">Monthly</option>
<option value="yearly">Yearly</option>
</select>
</div>
<button type="submit" class="btn btn-primary">Create Subscription</button>
</form>
That's it! You have now successfully set up and configured LaraSwift to build a CRUD interface and integrate Stripe recurring payments.
Here is a complete settings example for LaraSwift SaaS:
Database Settings
To configure the database settings, you need to publish the configuration file using the following command:
php artisan vendor:publish --provider="LaraSwiftSaaSDatabaseDatabaseServiceProvider"
Then, open the config/database.php
file and update the following settings:
'default' => env('DB_CONNECTION', 'mysql'),
'mysql' => [
'driver' => 'mysql',
'host' => 'localhost',
'database' => 'laraswift',
'username' => 'root',
'password' => '',
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',
'prefix' => '',
'strict' => true,
'engine' => null,
],
Stripe Settings
To configure Stripe settings, you need to update the following settings in the config/stripe.php
file:
'stripe' => [
'secret_key' => 'your_stripe_secret_key',
'publishable_key' => 'your_stripe_publishable_key',
'webhook_secret' => 'your_stripe_webhook_secret',
'webhook_url' => 'your_stripe_webhook_url',
],
CRUD Builder Settings
To configure CRUD Builder settings, you need to update the following settings in the config/crud-builder.php
file:
'crud_builder' => [
'default_model' => 'AppModelsUser',
'default_controller' => 'AppHttpControllersUserController',
'default_view' => 'laraswift::crud.builder.view',
'allowed_actions' => ['index', 'create', 'read', 'update', 'delete'],
'allowed_sort_by' => ['id', 'name', 'email'],
],
Admin Dashboard Settings
To configure Admin Dashboard settings, you need to update the following settings in the config/admin.php
file:
'admin' => [
'default_view' => 'laraswift::admin.dashboard.view',
'allowed_routes' => ['*'],
'allowed_permissions' => ['*'],
],
User Dashboard Settings
To configure User Dashboard settings, you need to update the following settings in the config/user.php
file:
'user' => [
'default_view' => 'laraswift::user.dashboard.view',
'allowed_routes' => ['*'],
'allowed_permissions' => ['*'],
],
Recurring Payment Settings
To configure Recurring Payment settings, you need to update the following settings in the config/recurring-payment.php
file:
'recurring_payment' => [
'stripe_plan_id' => 'your_stripe_plan_id',
'stripe_coupon_id' => 'your_stripe_coupon_id',
'payment_frequency' => 'monthly',
'payment_cycle' => 'day',
'payment_due_date' => '15',
],
Remember to replace the placeholders with your actual values.
$67.00
There are no reviews yet.