|
1 |
| -# full-stack-fe-focus-tqsdxa |
| 1 | +# Node/React Challenge - Frontend Focus |
2 | 2 |
|
| 3 | +A coding assignment for prospective developers. |
| 4 | + |
| 5 | +## Challenge Overview |
| 6 | + |
| 7 | +The design team at HomeLister has provided you with designs for a new signup form! Your task is to build out the project to the designs inside the `/design` folder. You can use any tools you like to help you complete the challenge. |
| 8 | + |
| 9 | +## Tasks |
| 10 | + |
| 11 | +### Setup Tasks |
| 12 | + |
| 13 | +- Get the application running via Docker or locally. |
| 14 | + |
| 15 | +- Make the signup page form functional: send an API call with submitted form data that creates a user on the backend (does not require modifications to the sever code) |
| 16 | + |
| 17 | +### Design Tasks |
| 18 | + |
| 19 | +- We have provided both desktop and mobile designs, but to conserve your time, you can focus on only one or the other |
| 20 | +- Your users should be able to: |
| 21 | + - See hover states for all interactive elements on the page |
| 22 | + - Receive an error message when the `form` is submitted if: |
| 23 | + - Any `input` field is empty. The message for this error should say _"[Field Name] cannot be empty"_ |
| 24 | + - The email address is not formatted correctly (i.e. a correct email address should have this structure: `[email protected]`). The message for this error should say _"Looks like this is not an email" _ |
| 25 | + - You will find all the required assets in the `/images` folder. The assets are already optimized. |
| 26 | + - There is also a `style-guide.md` file, containing the information you'll need, such as hex codes and fonts. |
| 27 | + |
| 28 | +## Quick Start |
| 29 | + |
| 30 | +- Change into the `client` directory and run `npm install`. |
| 31 | + |
| 32 | +- Change into the `server` directory and run `npm install`. |
| 33 | + |
| 34 | +- From the root directory run `docker compose up`, with an optional `-d` flag. |
| 35 | + |
| 36 | +## Note |
| 37 | + |
| 38 | +Next.js supports stylesheet import and CSS modules [out of the box](https://nextjs.org/docs/basic-features/built-in-css-support). If you want to use a different solution (CSS-in-JS, SASS/LESS), go for it! |
| 39 | + |
| 40 | +Apple M1 users are recommended to read [the following](https://docs.docker.com/desktop/mac/apple-silicon/) document for troubleshooting docker issues. You may need to install the Apple Silicon-native version of Docker if you do not have it, and/or uncomment a line in the `docker-compose.yml`. |
| 41 | + |
| 42 | +Don't hesitate to contact us with questions; we do not see this as a weakness. Feel free to spend as much or as little time as you'd like. **About two hours should suffice**. |
0 commit comments