Symfony demo app
I was assigned a coding challenge for a Symfony Developer role. Here is what I made.
The Project
The task was to make a URL shortener site (like bit.ly) in Symfony. I completed the task in one weekend - and honesly, I’m surprised at how quickly I was able to finish an entire Symfony app.
I was a Symfony Developer for almost 2 years, and used versions 3 and 4. Version 5 makes it pretty easy to set up (as far as a PHP app goes, anyway).
Links
Here is how to access my demo:
Goal
Your submission must meet the following requirements:
- The application must be built using Symfony.
- There should be three “actions” a user can take:
- Main page (/) - contains a form where long URLs can be input and submitted. Form redirects to the info page on success. Must have validation.
- Short link info page (/view/abcd123) – shows information about the shortened URL.
- Redirect link (/abcd123) – looks up the full URL and redirects to it.
- One additional feature of your choosing. Some possible ideas:
- Vanity URLs
- Analytics (number of users redirected)
- REST API
- QR codes
- Add some color and theme beyond the basic CSS provided by a framework.
- Add ability to "Favorite" entries, bringing them to the top of thelist.
- Use a modern modern JavaScript MVC framework
- Add ability to edit/delete existing shortened URLs.
- Automated unit/functional tests
- Anything else you can think of
- Links must be stored in a database (of your choosing)
- Provide the schema with your project
- Shortened link identifiers must be unique strings of 5 - 9 alphanumeric characters.
- Code should be written in an object-oriented fashion using appropriate design patterns.
- You can leverage a CSS framework for the UI.
Submission
Please either push your app to GitHub or BitBucket and provide us with publicly accessible link or provide us with a zip/tar. You need to provide us will all of your source code. If any build instructions are required, include then in a readme file.