JSON API & Admin Panel
with Laravel Nova
Transform an csv based list management solution to a web based admin panel including a RESTful JSON API powered by Laravel and Nova. |
Client |
NDA |
Tech |
- PHP (Laravel, Nova)
- JavaScript (Vue.js)
|
The goal was to transform a csv based dataset to a web based platform. The data should be editable by their employees and should also be consumable by their web app via JSON API.
I decided to create the API with Laravel and use Laravel Nova for the admin panel.
Requirements
- RESTful JSON API
- token based API authentication
- get lat, lon, placeId from Address via Google Maps API
- admin panel for basic CRUD operations
- basic user authorization
- query API based on geo location data (distance, proximity, country)
- initial data import from csv
The detail view of one resource.
List View
All resources got a list view that shows all entities in a data table. The table includes a search bar and is filterable and sortable.
The resources got initialy converted and imported from an existing csv dataset.
A list of resources in the admin panel.
Create/Edit
Every resource got a create/edit view where you can add new data or update existing one. The fields get validated on save.
The create view of one resource.
User Management
New users can be added via the admin panel.
User management inside the admin panel.
Edit a user.
JSON API
The data can be queried via JSON API. The API calls get authenticated by a token which can be created in the admin panel as well.
The dataset contained geographical informations which where used to implement a proximity search and query by distance.
Example API response query by lat/lng and distance.