- Docker Image for local testing: https://hub.docker.com/r/mattrayner/lamp#introduction
- Laravel Starter Project via Heroku: https://devcenter.heroku.com/articles/getting-started-with-laravel
- MySQL provider on Heroku (KiteFin free plan) : https://elements.heroku.com/addons/jawsdb
https://string-checker-demo-api.herokuapp.com/
-
GET message/list
-
POST message/add
'text': nullable | max:255 | string
- DELETE message/delete
'text': nullable | max:255 | string
- POST message/edit
'text': nullable | max:255 | string 'newText': nullable | max:255 | string
- POST message/check
'text': nullable | max:255 | string
php artisan test
- Deploy the project to heroku done
- Connect to MySQL database locally and remotely done
- Implement APIs done
- Design FE page
- User authentication
-
Setup the git repo for lavarel example project on Heroku: https://devcenter.heroku.com/articles/getting-started-with-laravel
-
Setup the free tier MySQL DB with JawsDB: https://elements.heroku.com/addons/jawsdb
heroku addons:create jawsdb:kitefin -a string-checker-demo-api --version=8.0
- Run the Lavarel DB migration to test live DB connection and create the tables required
heroku run php artisan migrate
https://hub.docker.com/r/mattrayner/lamp#introduction
docker run -i -t -p "80:80" -p 3306:3306 -v ${PWD}/demo_api:/app -v ${PWD}/demo_api/mysql:/var/lib/mysql mattrayner/lamp:latest
Exported Json file of PostMan requests collections
LightSpeedDemoApi.postman_collection.json
- Avoid using verb in api endpoint - let http method explain
- Patch VS put - partial content update VS replacing whole object
- Using unique Id instead of text
- Remove check endpoint and add panlindrome check in add and update
- Make text unique column
- Refactor string check into its own service class