Skip to content

Commit 1213470

Browse files
CodeSubmit TeamCodeSubmit Team
CodeSubmit Team
authored and
CodeSubmit Team
committed
🚀 We wish you all the best! The CodeSubmit Team.
1 parent 0cce9b2 commit 1213470

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

49 files changed

+6371
-1
lines changed

‎.gitignore

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
.next*
2+
mongo-volume*

‎README.md

+41-1
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,42 @@
1-
# full-stack-fe-focus-tqsdxa
1+
# Node/React Challenge - Frontend Focus
22

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**.

‎client/.env.local

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
NEXT_PUBLIC_API_URL = http://localhost:8080

‎client/Dockerfile

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
FROM node:14
2+
3+
WORKDIR /usr/src/app
4+
5+
COPY . .
6+
# RUN npm install
7+
RUN npm build
8+
9+
EXPOSE 3000
10+
CMD [ "npm", "run", "dev" ]

‎client/api/signin.js

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
import axios from 'axios'
2+
3+
const signin = ({ email, password }) => {
4+
console.log('Signed In')
5+
}
6+
7+
export default signin

‎client/api/signup.js

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
import axios from 'axios'
2+
3+
const signup = ({ fName, lName, email, password }) => {
4+
// @TODO - implement
5+
}
6+
7+
export default signup

0 commit comments

Comments
 (0)