hi,
I’m a junior mobile application developer (native android & native ios) and I would like to enter the field of web development. I had an interview with some company for a junior web developer position with a focus on [WordPress.org](http://WordPress.org) (but not limited to) and they gave me an assignment to test my skills. The assignment has following requirements:
* build a responsive and pixel-perfect landing page that 1:1 matches the given design in Figma (I got two designs, one for mobile devices and one for desktop and tablet devices)
* administrator can login, can access admin panel, can edit text and pictures of the website and can also write blog posts \[I guess that this means that I need some kind of CMS functionality\]
* the website includes a form where visitors can input some data and send it to the server’s back-end
My questions are:
1. Can be WordPress used at all for implementation of all of the requirements mentioned above?
2. If WordPress can be used for my assignment, can I implement the website without using plugins?
3. If plugins have to be used, which one(s) should I consider?
thanks
[ad_2]
You can do all that but I would not do that as an assignment for a job unless they are paying you. Way too much work for an unpaid assignment.
WordPress is just a platform and CMS bolted together. You can do whatever you want with your theme, including loading a React or Vue SPA using WordPress’ REST API for a backend.
So:
* 1: Yes.
* 2: Yes, because you can build the form and its submission into your site theme.
* 3: [Advanced Custom Fields](https://www.advancedcustomfields.com/resources/create-a-front-end-form/) is practically a standard tool for almost all WordPress developers. IMO Automattic should buy them and included it in WordPress itself.
* 1. Yes
* 2. Yes.
* 3. Some form plugin (Forminator, GravityForm) can be helpful.
If WP is new to you, I recommend:
https://learn.wordpress.org/courses/#introduction-to-wordpress
https://learn.wordpress.org/courses/#using-the-site-editor
Few days and you’ll have better insight into WP.
Success.
The short answer is that you can make a “responsive and pixel-perfect” page with any web-authoring tool, from pure node to pure HTML, but not with only two “pixel-perfect” Figma layouts.
Building *anything* for the web means you have to accommodate not just “mobile devices” and “desktop and tablet.” Because which desktop? A 1024x780px netbook? A 7680 x 2160px Samsung Odyssey? And “tablet?” Do you mean 1280×800? 601×962? 744×1133? And is that held in portrait or landscape mode? And what’s the plan if they rotate while on your page? And what’s your design going to do when a client with an 7680 × 4320 8UHD monitor grabs a corner of the browser window and starts “playing the accordion?”
If all you’ve ever built are mobile apps for fixed devices you’re stepping into a world of hurt if you want to bring it to the web. As I tell my graphic design collaborators, designing for the web is
The bad news is maybe 80% of time spent building websites is spent tweaking the design to flow well between 60+ “canonical” screen sizes from Apple watches to stadium Jumbotrons.
The good news is that if you can solve it at all then, duh, you can solve it with WordPress. That’s the “website” part of WordPress is a tool for building websites.
As for the rest, sure, the whole point of WordPress is that you can log in (with any of several different roles) to edit text and pictures and write blog posts. That’s… the CMS part of WordPress is a CMS.
As for forms you have your choice of dozens of plugins and everything else from embedded SPAs to custom fields to custom blocks and modules, to raw, old-school HTML <form>s to build simple forms… and hundreds to thousands of plugins plus more direct ways to add even more sophisticated interactions.
1. Yes. Absolutely.
2. A “plugin” is just some arbitrary code you can either download and install or code yourself to add interactivity or other non-default functionality. The alternative if you want interaction (e.g. a form) is to instead build the code into a theme. Either way it’s the same code. (Moronic clients who demand “no plugins” get the same code in their theme’s functions.php file. Moronic or cynical developers who promise “no plugins” write what’s basically plugin code into the theme.)
3. If this is your first project with WordPress add a simple form builder plugin from the free WordPress plugin directory. NinjaForms, WPForms, maybe Formidable or Forminator. That *could* be all you need since WordPress now comes with a primitive “page builder” you can use to layout page and theme elements. Almost everyone who tries, up to and including the team that built the WordPress.org homepage, have had to write or overwrite extensive code and additional CSS. If you haven’t already spent at least a month wrapping your head around the block editor you’ll probably want to choose one or more authoring plugins, from GeneratePress (which includes extensive workarounds for the block editor’s massive failings) to Elementor (which works very much like Figma and lets you get close to “pixel perfect” results without IDE and full-stack coding, but produces disappointingly soggy code.
Go back and ask the employer for more parameters before tackling the problem. Do *they* know WordPress? Are there standard packages (themes, plugins, methods?) they use. Choose those.
Seems like a lot for a test
all that can be done with bricks, acss, acf, and bricksforge (or maybe some other forms plugin if you need users to submit data and add it to backend.
a lot of the “we need it done without so and so” is just elitism. most wordpress sites use plugins, because who wants to spend a ton of time coding all these features from scratch when they’re all already available, and have been tested for months or years by hundreds or thousands of users?
that’s like asking a surgeon to learn how to perform a surgery without using all of the medical knowledge already available for hundreds of years.
I wouldn’t bother with that job to be honest.
1, You are clearly not up to the task otherwise why ask the question?
2, This is not an assignment form them, it’s just free work.