This repo provides a very basic REST API backend for our Todo list app, using Symfony and api-platform. Authentication is done via JWT. Docker is used to provide a consistent dev experience.
Tasks:
- Please read following steps to get the REST API up and running.
- Implement the frontend for the Todo list app
- Being able to see a list of todos
- Being able to add a todo
- Being able to mark a todo as done
- Being able to delete a todo
- Add pagination as you see fit
- Style the pages as you see fit
- Use Vue or React to implement the frontend. Feel free to serve the frontend files via Symfony or Vue cli service, etc.
- Provide a PR for your work.
Note: we value PR description and commit messages a lot, so please provide meaningful commit messages and PR descriptions as well as testing instructions.
- View REST API docs:
http://localhost:8101/api/docs
- Generate a sample token by clicking the try it out section of Token resource, provided with the user credentials you just registered.
- Once you get a token, scroll to top of page and click on authorise
button to authorise the API, content will be
bearer YOUR_TOKEN_STRING
- Then you should be able to try out the rest of APIs on the page.
rebuild image: docker-compose build
website: http://localhost:8101/
phpMyAdmin http://localhost:8102/
Rest API with Symforny and api-platform
JWT authentication with Symfony
Filter results for current User with Extensions
Update table schema with Doctrine:
php bin/console doctrine:schema:update --dump-sql
php bin/console doctrine:schema:update --force
To generate jwt keypair:
php bin/console lexik:jwt:generate-keypair
To generate user provider:
php bin/console make:user
Create migration for db changes:
php bin/console make:migration
php bin/console doctrine:migrations:migrate
To generate registration form:
php bin/console make:registration-form
To sync metadata storage:
php bin/console doctrine:migrations:sync-metadata-storage