All Projects → codereviewvideos → Symfony 3 Rest Api Example

codereviewvideos / Symfony 3 Rest Api Example

Symfony 3 RESTful API Example

Projects that are alternatives of or similar to Symfony 3 Rest Api Example

Ezplatform Demo
Fork of "ezplatform" meta repository, contains code and dependencies for demo distribution of eZ Platform. Not recommended for a clean install for new projects, but great for observation and learning!
Stars: ✭ 42 (-53.33%)
Mutual labels:  symfony-application, symfony
Pd Admin
Powerful Admin Dashboard for Symfony 5
Stars: ✭ 70 (-22.22%)
Mutual labels:  symfony-application, symfony
Intro To Apis Course
Introduction to APIs course
Stars: ✭ 1,009 (+1021.11%)
Mutual labels:  tutorial, tutorial-code
Accompli
An easy to use and extendable deployment tool for (PHP) projects.
Stars: ✭ 9 (-90%)
Mutual labels:  symfony-application, symfony
Kimai2
Kimai v2 is a web-based multiuser time-tracking application. Free for everyone: freelancers, agencies, companies, organizations - all can track their times, generate invoices and more. SaaS version available at https://www.kimai.cloud
Stars: ✭ 1,216 (+1251.11%)
Mutual labels:  symfony-application, symfony
Bdd Experiment
An experiment on BDD in Symfony2 using Behat, Mink and Zombie.js
Stars: ✭ 12 (-86.67%)
Mutual labels:  symfony, behat
Sinais
🔣 Desenvolvimento passo a passo do exemplo `sinais` em Go.
Stars: ✭ 59 (-34.44%)
Mutual labels:  tutorial, tdd
En Marche.fr
Le site principal du mouvement En Marche !
Stars: ✭ 743 (+725.56%)
Mutual labels:  symfony-application, symfony
Symfony Ddd Edition
Symfony standard edition with DDD architecture.
Stars: ✭ 78 (-13.33%)
Mutual labels:  symfony-application, symfony
Symfonystarter
[DEPRECATED] Please use the new version here https://github.com/Monofony/Monofony
Stars: ✭ 77 (-14.44%)
Mutual labels:  symfony, behat
Adonis Tdd Tutorial Demo
Stars: ✭ 22 (-75.56%)
Mutual labels:  tutorial, tdd
Dependent Dropdown Example
Code example used in the post "How to Implement Dependent/Chained Dropdown List with Django"
Stars: ✭ 84 (-6.67%)
Mutual labels:  tutorial, tutorial-code
Crm Application
OroCRM - an open-source Customer Relationship Management application.
Stars: ✭ 785 (+772.22%)
Mutual labels:  symfony-application, symfony
Behatnoextension
This Behat extension makes it possible to extend Behat without having to write an extension yourself.
Stars: ✭ 34 (-62.22%)
Mutual labels:  symfony, behat
Coderoad Vscode
👩‍💻 Create or play Interactive coding tutorials in VSCode
Stars: ✭ 757 (+741.11%)
Mutual labels:  tutorial, tutorial-code
Python Beginner Programming Exercises
Practice your Python programming skills with this interactive and auto-graded set of exercises.
Stars: ✭ 47 (-47.78%)
Mutual labels:  tutorial, tutorial-code
Wallabag
wallabag is a self hostable application for saving web pages: Save and classify articles. Read them later. Freely.
Stars: ✭ 6,392 (+7002.22%)
Mutual labels:  symfony-application, symfony
Symfony Cmf
Meta package tying together all the key packages of the Symfony CMF project.
Stars: ✭ 742 (+724.44%)
Mutual labels:  symfony-application, symfony
Uc R.github.io
Main repository for R programming courses @ University of Cincinnati, courses and tutorials that focus on data wrangling, exploration, visualization, and analysis with R.
Stars: ✭ 76 (-15.56%)
Mutual labels:  tutorial, tutorial-code
Web Publisher
Superdesk Publisher - the next generation publishing platform for journalists and newsrooms.
Stars: ✭ 82 (-8.89%)
Mutual labels:  symfony-application, symfony

Symfony 3 RESTful API Example

This is the code for the Symfony 3 REST Tutorial at CodeReviewVideos.com.

About The Course

In this series we are going to take most of what has been taught on CodeReviewVideos so far, and use it to implement the foundation of a Symfony-based RESTful API.

This is not a good starting point if you have never used Symfony before. If you are a beginner, please try the Symfony Tutorial for Beginners before attempting to create a RESTful API.

Whilst very new, we are going to proceed with Symfony 3 for this project. However, if you are still using Symfony 2, you should have no trouble following along. If anything, your life may be that little bit easier ;)

By the end of this series you will have created a RESTful API with FOSRESTBundle, guided by tests using Behat 3 and PHPSpec 2. The API itself will exposes Users - via FOSUserBundle - along with Accounts, and File Uploading using Flysystem.

You will have gained an understanding into how to add further 'modules' to your API, allowing you to create custom end points to meet the needs of your specific application.

As with many things Symfony, there are multiple ways to achieve the goals in this series. We could switch out FOSRESTBundle for DunglasAPIBundle. We could switch Flysystem for Guafrette. You are entirely free to do so.

This API is going to be based on FOSRESTBundle. The main reasoning for this is that I have already covered this bundle in another dedicated tutorial series, so if you get stuck, there are plenty of lessons explaining the general setup.

You may be wondering about the difference between a User and an Account. The idea here is that every User would have their own User Profile, but may belong to one of more Accounts. This is pretty helpful in the real world, and opens up options for your app as it grows. Feel free to rip this part out if you don't need it.

Log in is going to be a little different here. When a User POST's in a valid username and password combo, they will receive a JSON Web Token / JWT (pronounced Jot), which they will then need to use as part of any future request. Don't worry, we will cover this in full, and you will see it's really not that difficult at all. The reasoning for doing this is that our front end will thank us for it.

To ensure stability, we will be using VirtualBox with an Ansible build script. This will - hopefully - mean getting from development to production is largely taken care of.

Lastly, we will cover how to interact with this API using ReactJS. You could switch this out for Angular, Ember, a mobile Application (e.g. Ionic, or a native app), or any other front end framework. That choice is entirely up to you. I am by far and away not the world's best JavaScript guy, so take this section as an example, rather than a defacto standard.

Hopefully you will find this exercise useful and practical. Please feel free to leave comments, ask questions, or get in touch if you would like to know more about a specific topic.

Click here to watch all the videos in this series

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].