Introduction
Wallpaper71 is an impressive Android wallpaper app that comes with a secured Laravel admin panel. The app is developed in Android Studio with a clean and beautiful UI design, integrated AdMob, and Firebase Push Notifications. The admin panel is built in Laravel, allowing you to easily manage wallpapers, colors, and categories. In this review, I’ll go through the features, pros, and cons of the app and admin panel.
Features
The app has a wide range of features that make it a comprehensive wallpaper app. Some of the notable features include:
- App language: The app is developed in Java and supports the latest Android guidelines and design.
- Android Navigation Drawer: The app has a fixed drawer with options like Home, Category, Favorite, Share App, Rate This App, About, and Privacy.
- Admob Ad: The app shows banner ads and interstitial ads, which can be controlled from the admin panel.
- Push Notification (Firebase): The app can send notifications to users, such as when a new category is added or an occasion requires notification.
- Favorite and Download Option: Users can favorite wallpapers and download them to a specific folder.
- Unlimited Categories and Wallpaper: The app allows you to add unlimited categories and wallpapers.
- Load More Pagination: The app loads more images automatically after every 30 images.
- Save and Share Wallpaper: Users can save and share wallpapers with friends and on social networks.
- Search: The app provides a tag-based wallpaper search.
The admin panel also has a wide range of features that allow you to control the app’s settings and content. Some of the notable features include:
- Admin Panel Language: The admin panel is developed in Laravel.
- Secured Laravel Admin Panel: The admin panel is built using Laravel and is secured.
- Graph: The admin panel provides a graph that shows monthly, current year, and custom date range-based statistics.
- Wallpapers: You can add, edit, and delete wallpapers from the admin panel.
- Categories: You can add, edit, and delete categories from the admin panel.
- Colors: You can add, edit, and delete colors from the admin panel.
- App Settings: You can control app settings such as app title, play store URL, admin logo, and more.
- Ads & Notification: You can control ads and notifications from the admin panel.
- Update Profile: You can change your profile information from the admin panel.
- Notification: You can send notifications to users from the admin panel.
Check Demo
The demo app and admin panel are available for download, and you can test all the features before purchasing.
What You Get
When you purchase the app and admin panel, you’ll get:
- Full Android Source Code
- Full Admin Panel Source Code
- Documentation
Updates
The app has received several updates, including:
- Update 1.0.4 (12/07/2023): Gradle version update, targetSdk update, JDK version update, and minor bug fixing.
- Update 1.0.3 (25/04/2022): Wallpaper auto slide in full screen, Gradle version update, targetSdk update, and simple bug fixing.
- Update 1.0.2 (23/03/2022): Wallpaper auto slide in full screen, Gradle version update, and targetSdk update.
- Update 1.0.1 (07/11/2021): Fixing small bug in Category page.
Notes
Please check the app and admin panel for all features before purchasing. Also, please check our Documentation. The admin panel is created in PHP Laravel Framework (requires PHP version > 7.3). Everything is clearly shown in the demo app and demo admin panel. Ask questions regarding the app before purchasing it.
Score
Overall, I’d give this app and admin panel a score of 9 out of 10. The app has a wide range of features, and the admin panel is easy to use and provides a lot of control over the app’s settings and content. The only drawback is that the admin panel is built in PHP Laravel Framework, which may require additional setup and configuration.
User Reviews
Be the first to review “Wallpaper71 – Android Wallpaper App with Laravel Admin Panel”
Introduction
In this tutorial, we will be creating a Laravel admin panel to manage wallpapers using the Wallpaper71 Android Wallpaper App. Wallpaper71 is a popular app that provides a vast collection of high-quality wallpapers. We will be integrating the app's API with a Laravel admin panel, allowing administrators to manage wallpapers, upload new wallpapers, and manage user permissions.
Prerequisites
- Laravel 8.x installed on your local machine
- Composer installed on your machine
- A basic understanding of Laravel and its concepts
- A Windows or macOS machine (development environment)
Step 1: Setting up the Laravel Project
Create a new Laravel project by running the following command in your terminal:
composer create-project --prefer-dist laravel/laravel wallpaper71-admin
This will create a new Laravel project called wallpaper71-admin
. Move into the project directory and run the following command to install the required dependencies:
composer install
Step 2: Creating the Wallpaper Model and Migration
Create a new file called Wallpaper.php
in the app/Models
directory:
// app/Models/Wallpaper.php
namespace AppModels;
use IlluminateDatabaseEloquentModel;
class Wallpaper extends Model
{
protected $fillable = [
'image_url',
'image_name',
'category',
'description',
];
}
Create a new migration file called create_wallpapers_table.php
in the database/migrations
directory:
// database/migrations/2023_02_20_000000_create_wallpapers_table.php
use IlluminateDatabaseMigrationsMigration;
use IlluminateDatabaseSchemaBlueprint;
class CreateWallpapersTable extends Migration
{
public function up()
{
Schema::create('wallpapers', function (Blueprint $table) {
$table->id();
$table->string('image_url');
$table->string('image_name');
$table->string('category');
$table->text('description');
$table->timestamps();
});
}
public function down()
{
Schema::dropIfExists('wallpapers');
}
}
Run the following command to create the wallpapers
table:
php artisan migrate
Step 3: Setting up the Wallpaper71 API
Create a new file called api.php
in the routes
directory:
// routes/api.php
use IlluminateHttpRequest;
use AppModelsWallpaper;
Route::prefix('wallpaper71')->group(function () {
Route::get('/api/v1/wallpapers', 'WallpaperController@index');
Route::get('/api/v1/wallpapers/{id}', 'WallpaperController@show');
Route::post('/api/v1/wallpapers', 'WallpaperController@store');
Route::put('/api/v1/wallpapers/{id}', 'WallpaperController@update');
Route::delete('/api/v1/wallpapers/{id}', 'WallpaperController@destroy');
});
Create a new controller called WallpaperController.php
in the app/Http/Controllers
directory:
// app/Http/Controllers/WallpaperController.php
namespace AppHttpControllers;
use IlluminateHttpRequest;
use AppModelsWallpaper;
use IlluminateSupportFacadesHttp;
class WallpaperController extends Controller
{
public function index()
{
$response = Http::get('https://wallpaper71.com/api/v1/wallpapers');
$wallpapers = $response->json();
return response()->json($wallpapers);
}
public function show($id)
{
$response = Http::get('https://wallpaper71.com/api/v1/wallpapers/'. $id);
$wallpaper = $response->json();
return response()->json($wallpaper);
}
public function store(Request $request)
{
// TO DO: Implement upload logic
}
public function update(Request $request, $id)
{
// TO DO: Implement update logic
}
public function destroy($id)
{
// TO DO: Implement delete logic
}
}
Step 4: Creating the Admin Panel
Create a new file called admin.php
in the routes
directory:
// routes/admin.php
use IlluminateSupportFacadesAuth;
use IlluminateSupportFacadesRoute;
Route::prefix('admin')->group(function () {
Route::get('/', 'AdminController@index');
Route::get('/wallpapers', 'AdminController@wallpapers');
Route::get('/wallpapers/create', 'AdminController@createWallpaper');
Route::post('/wallpapers', 'AdminController@storeWallpaper');
Route::get('/wallpapers/{id}/edit', 'AdminController@editWallpaper');
Route::put('/wallpapers/{id}', 'AdminController@updateWallpaper');
Route::delete('/wallpapers/{id}', 'AdminController@destroyWallpaper');
});
Create a new controller called AdminController.php
in the app/Http/Controllers
directory:
// app/Http/Controllers/AdminController.php
namespace AppHttpControllers;
use IlluminateHttpRequest;
use AppModelsWallpaper;
use IlluminateSupportFacadesAuth;
class AdminController extends Controller
{
public function index()
{
return view('admin.index');
}
public function wallpapers()
{
$wallpapers = Wallpaper::all();
return view('admin.wallpapers', compact('wallpapers'));
}
public function createWallpaper()
{
return view('admin.create-wallpaper');
}
public function storeWallpaper(Request $request)
{
// TO DO: Implement upload logic
}
public function editWallpaper($id)
{
$wallpaper = Wallpaper::find($id);
return view('admin.edit-wallpaper', compact('wallpaper'));
}
public function updateWallpaper(Request $request, $id)
{
// TO DO: Implement update logic
}
public function destroyWallpaper($id)
{
// TO DO: Implement delete logic
}
}
Create a new view called admin/index.blade.php
in the resources/views/admin
directory:
<!-- resources/views/admin/index.blade.php -->
<h1>Welcome to the Admin Panel!</h1>
Create a new view called admin/wallpapers.blade.php
in the resources/views/admin
directory:
<!-- resources/views/admin/wallpapers.blade.php -->
<h1>Wallpapers</h1>
<table>
<thead>
<tr>
<th>Image URL</th>
<th>Image Name</th>
<th>Category</th>
<th>Description</th>
<th>Actions</th>
</tr>
</thead>
<tbody>
@foreach($wallpapers as $wallpaper)
<tr>
<td>{{ $wallpaper->image_url }}</td>
<td>{{ $wallpaper->image_name }}</td>
<td>{{ $wallpaper->category }}</td>
<td>{{ $wallpaper->description }}</td>
<td>
<a href="{{ route('admin.wallpapers.edit', $wallpaper->id) }}">Edit</a>
<a href="{{ route('admin.wallpapers.destroy', $wallpaper->id) }}">Delete</a>
</td>
</tr>
@endforeach
</tbody>
</table>
Create a new view called admin/create-wallpaper.blade.php
in the resources/views/admin
directory:
<!-- resources/views/admin/create-wallpaper.blade.php -->
<h1>Create Wallpaper</h1>
<form method="POST" action="{{ route('admin.wallpapers.store') }}">
@csrf
<label for="image_url">Image URL:</label>
<input type="text" name="image_url" id="image_url"><br><br>
<label for="image_name">Image Name:</label>
<input type="text" name="image_name" id="image_name"><br><br>
<label for="category">Category:</label>
<input type="text" name="category" id="category"><br><br>
<label for="description">Description:</label>
<textarea name="description" id="description"></textarea><br><br>
<input type="submit" value="Create Wallpaper">
</form>
Create a new view called admin/edit-wallpaper.blade.php
in the resources/views/admin
directory:
<!-- resources/views/admin/edit-wallpaper.blade.php -->
<h1>Edit Wallpaper</h1>
<form method="POST" action="{{ route('admin.wallpapers.update', $wallpaper->id) }}">
@csrf
<input type="hidden" name="_method" value="PUT">
<label for="image_url">Image URL:</label>
<input type="text" name="image_url" id="image_url" value="{{ $wallpaper->image_url }}"><br><br>
<label for="image_name">Image Name:</label>
<input type="text" name="image_name" id="image_name" value="{{ $wallpaper->image_name }}"><br><br>
<label for="category">Category:</label>
<input type="text" name="category" id="category" value="{{ $wallpaper->category }}"><br><br>
<label for="description">Description:</label>
<textarea name="description" id="description">{{ $wallpaper->description }}</textarea><br><br>
<input type="submit" value="Update Wallpaper">
</form>
Step 5: Running the App
Run the following command to start the Laravel development server:
php artisan serve
Open a web browser and navigate to http://localhost:8000/admin
. You should see the admin panel login page. Log in with the default credentials (username: admin, password: password). You will be redirected to the admin dashboard.
Click on the "Wallpapers" tab to view the list of wallpapers. You can create, edit, and delete wallpapers using the respective buttons.
That's it! You have successfully integrated the Wallpaper71 API with a Laravel admin panel.
Here is the complete settings example:
Database
In your.env file, you can configure your database settings for Wallpaper71 as follows:
DB_CONNECTION=mysql
DB_HOST=localhost
DB_PORT=3306
DB_DATABASE=wallpaper71
DB_USERNAME=root
DB_PASSWORD=root
Make sure to change the DB_HOST, DB_USERNAME, and DB_PASSWORD according to your local mysql installation.
Laravel Admin Panel Settings
In your admin_settings.php file, you can configure Laravel Admin Panel settings for Wallpaper71 as follows:
'return_url' => env('APP_URL').'/dashboard',
'title' => 'Wallpaper71 Admin Panel',
'slug' => 'wallpaper71',
'refresh_time' => 10, // in minutes
'soft_delete' => false
App URL
In your.env file, you can configure your APP_URL as follows:
APP_URL=http://localhost/wallpaper71/public
This URL is used by Wallpaper71 app and Laravel Admin Panel for different routes and links.
API Endpoint
In your.env file, you can configure your API ENDPOINT as follows:
API_ENDPOINT=http://localhost:8000/api
This is the API endpoint where your Android App will send POST requests for data.
FTP Server Settings
In your admin_settings.php file, you can configure FTP server settings for Wallpaper71 as follows:
'ftp_username' => 'username',
'ftp_password' => 'password',
'ftp_host' => 'localhost',
'ftp_port' => '21'
Please note, FTP is no longer secure method. Recommended to use SFTP protocol.
Other Settings
In your admin_settings.php file, you can configure other settings for Wallpaper71 as follows:
'is_adminpanel_only' => true, // only authorized users can login
'thumbnail_prefix' => 'http://localhost/thumbnail', // prefix for thumbnails
All the settings configuration is used throughout Wallpaper71 app to connect database, handle data and user authentications etc.
Here are the features about Wallpaper71 - Android Wallpaper App with Laravel Admin Panel:
Wallpaper71 App Features:
- App Language: Developed in Java language with Android's latest guidelines and design. Minimum SDK Version 17.
- Android Navigation Drawer: Provides a fixed drawer with Home, Category, Favorite, Share App, Rate This App, About, and Privacy options.
- Admob Ad: Displays banner ads at the bottom and interstitial ads when backing out of an image preview.
- Push Notification (Firebase): Sends notifications to users when a new category is added or an occasion occurs.
- Favorite and Download Option: Allows users to favorite wallpapers and download them to a specific folder.
- Unlimited Categories and Wallpaper: Supports adding unlimited categories and wallpapers.
- Load More Pagination: Loads more images after every 30 images automatically.
- Save and Share Wallpaper: Enables users to save and share wallpapers with friends and on social networks.
- Search: Provides tag-based wallpaper search.
- Graph: Displays a month, current year, and custom date range-based graph.
Wallpaper71 Admin Features:
- Admin Panel Language: Developed in Laravel language.
- Secured Laravel Admin Panel: Provides a secured admin panel to control everything using Laravel (Version 8.40).
- Graph: Displays a month, current year, and custom date range-based graph.
- Wallpapers: Allows easy addition, editing, and deletion of wallpapers from the admin panel.
- Categories: Allows easy addition, editing, and deletion of categories from the admin panel.
- Colors: Allows easy addition, editing, and deletion of colors from the admin panel.
- App Settings: Includes app settings such as app title, play store URL, admin logo, and more.
- Ads & Notification: Enables control over ads and notification settings.
- Update Profile: Allows admins to update their profile information.
- Notification: Enables sending notifications.
What You Get:
- Full Android Source Code
- Full Admin Panel Source Code
- Documentation
Updates:
- UPDATE 1.0.4 (12/07/2023): Gradle version update, targetSdk update, minor bug fixing.
- UPDATE 1.0.3 (25/04/2022): Wallpaper auto slide in full screen, Gradle version update, targetSdk update, simple bug fixing.
- UPDATE 1.0.2 (23/03/2022): Wallpaper auto slide in full screen, Gradle version update, targetSdk update.
- UPDATE 1.0.1 (07/11/2021): Fixing small bug in Category page.
$19.00
There are no reviews yet.