- Features - Installation - Usage - API Integration - Database - State Management - Screenshots - Task Submission
This is a prototype of a mobile shopping app built as a Single Page Application (SPA) using Laravel and Vue.js. The app includes two main pages: a product list page and a product details page. It also incorporates various features and functionalities as outlined in the task.
Client
- Laravel
- JavaScript
- HTML
- Vue.js
- CSS
- [Products List Page:]
- Displays a gallery of 10 products in a Masonry Layout with 2 columns.
- Retrieves product data from the /api/products endpoint.
- Images for the products can be retrieved from various sources.
- [Product Details Page:]
- Product Details Page:
- Accessible by clicking on any product image.
- Displays product details including a banner image, name, description, price.
- Provides options to add the product to the cart or save it for later.
- [Search box to look for a particular crypto item]
- git clone [https://github.com/hagan199/Shopping-App-Prototype.git]
- cd shopping-app
- composer install
- npm install
- php artisan migrate
- php artisan db:seed
- To run the application locally, use the following commands:
- npm run dev
- php artisan serve - Access the app in your web browser at http://localhost:8000.
- For retrieving product data, we have integrated the API Ninjas service. The API key for this service is provided in the task description.
- The application uses MySQL for database storage.
- A migration and seeder have been provided to create and populate the products table with sample data.
- To efficiently manage application state, the Pinia Store for state management has been implemented. This store stores and provides access to product data in the SPA.
👤 Emmanuel Hagan
- GitHub: @hagan199
- LinkedIn: @emmanuel-hagan-26219a95
- Twitter: @EmmaHagan23
Contributions, issues, and feature requests are welcome!
If you like this project feel free to let me know via Linkedin or Github, also don't forget to leave your ⭐️. I will always appreciate your comments.
This project is MIT licensed.