This is a mini project I had to do for a job application and it helps to demonstrate my Vanilla PHP knowledge
- Mini version of routing
- Mini version of Container (Dependency injection)
- Basic MVC
- Basic Twitter Api consumer
- Latest tweets widget with jQuery
- Latest tweets widget with Vue JS
Please put together a small web app using PHP that uses the Twitter API to get a list of the users’ latest tweets and compiles them in to a little widget for a website. Please ensure all code is your own and that the code can be run to check your example works. You can use any means to do this task, as long as the code is all your own. You can choose a framework like symfony where you build your own bundles, or you write your own individual classes or procedural code to achieve the aim. Once your back-end portion is complete, please use JavaScript (either plain JavaScript or with the jQuery library) to auto refresh or update new tweets. Regardless of the interval you choose, inform the user every time the system is checking for new tweets. Additionally, show us your JavaScript skills by providing some interactivity with the displayed tweets.
On this project I wanted to demonstrate I know how to scaffold a bigger project than the requirement mentioned above. The project was fun and it took me 2 evenings after work to complete. I really enjoyed it to the point that I wanted to add a View builder and a Response handler to return on the controllers but that was too much out of scope :P I added also a Vue js version of the twitter widget because is how I actually work. I almost not use jQuery even though I did in the past and I know how it works, but I've actually learned how to structure javscript after the appearance of Javascript frameworks such as Vue or Angular. On a real project I would create an integration test for the Twitter Api but for this project I opted to manually tested using Postman (great software to test apis) I didn't put much effort on the frontend side of things, but you can see I follow the BEM convention and I have some flexbox knowledge.