Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/riwert/scandiweb
Vanilla PHP OOP API + Nuxt.js v3 client with PWA.
https://github.com/riwert/scandiweb
api nuxt nuxt3 oop php pinia pwa storefrontui tailwindcss
Last synced: 19 days ago
JSON representation
Vanilla PHP OOP API + Nuxt.js v3 client with PWA.
- Host: GitHub
- URL: https://github.com/riwert/scandiweb
- Owner: riwert
- Created: 2023-06-05T17:50:56.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2023-08-29T16:02:22.000Z (over 1 year ago)
- Last Synced: 2024-11-08T18:43:25.307Z (2 months ago)
- Topics: api, nuxt, nuxt3, oop, php, pinia, pwa, storefrontui, tailwindcss
- Language: PHP
- Homepage: https://produx.vercel.app
- Size: 823 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Scandiweb Products
Mid-senior & Senior Web Developer test assignment in Scandiweb.
App demo: [produx.vercel.app](https://produx.vercel.app)
## 1. SWAPI - PHP REST API - [/api](api)
- [x] Vanilla PHP (without any framework)
- [x] Composer packages (autoload, phpdotenv)
- [x] OOP approach
- [x] PDO for SQL
- [x] MySQL database [import SQL from scandiweb.sql file](api/database/scandiweb.sql)
- [x] ENV config [set new .env based on .env.example](api/.env.example)
- [x] mod_rewrite [set in .htaccess correct ```RewriteBase /API_DIR```](api/.htaccess)## 2. Produx - Nuxt.js client - [/client](client)
- [x] Nuxt v3
- [x] Vue v3
- [x] Vue Router
- [x] Vue Meta
- [x] TS support
- [x] Composition API with simple syntax & auto imports
- [x] SPA / SSR / SSR + Hydration/ SSG as rendering options
- [x] Vite and Nitro
- [x] Pinia as a store for sharing a global state with persistence
- [x] Tailwind CSS v3
- [x] Storefront UI v2
- [x] PWA installable with service worker (workbox) [check manifest.json](client/public/manifest.json)
- [x] ENV config [set new .env based on .env.example](client/.env.example)## Ad.1 SWAPI screenshot
[!['SWAPI example'](api/swapi-screenshot.png)](api/swapi-screenshot.png 'See SWAPI example screenshot')## Ad.2 Produx screenshot
[!['Produx example'](client/produx-screenshot.jpg)](client/produx-screenshot.jpg 'See Produx example screenshot')