0% found this document useful (0 votes)
27 views

Frontend Development Task (Cart Rabbit)

Uploaded by

vinith
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
27 views

Frontend Development Task (Cart Rabbit)

Uploaded by

vinith
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 3

Frontend Development Test

IMPORTANT INSTRUCTIONS:

1. This is a PROGRAMMING TEST, you need to write the code on your own.

2. You need to write fully-functional code.

3. Code should be fully commented. Here is a guide with examples:

https://medium.com/javascript-in-plain-english/5-best-practices-for-writing-clean-javascr
i pt-be366adb2859

4. Along with the code, you need to write detailed instructions on how to execute and
deploy your code. Step by step instructions are required. See an example:
https://lodash.com/

SUBMISSION INSTRUCTIONS:

1. Create a GitHub account

2. Create a PRIVATE REPO. It should be a PRIVATE repository. Guide to creating a private


repo in your Github account:
https://www.evernote.com/l/AjyygFqX0A1Mfbefdzfr1o6u3UHmB7XwYyI

3. Push the code to your repository.

4. Use readme.md file to add the code execution instructions and other information
required for deploying your code in the same repository.
5. Finally, when you ready to submit the code, under your Repository settings -> Manage
access, send an Invite to [email protected] and [email protected] (Refer this
screenshot:
https://www.evernote.com/l/AjzEXv6h451Ot5JtQj4ooKq8YDOjVBSHW1c )

6. Send an email to [email protected] and [email protected] with URL to your


github repository, your name, your email address, phone number.

NOTE: We will NOT accept submission in any other modes like ZIP, RAR, PDF or TXT or any
other formats.
DURATION

The quicker you develop and submit, the higher your chances of getting selected! If you have

any doubts, regarding the questions, send an email to: [email protected]

Project: Travel Planner Application


You are to develop a Travel Planner Single Page Application (SPA) using React.

The user should be able to:

1. Create a new trip by selecting a destination, start date, and end date.
2. View a list of all created trips.
3. Delete any trip.
4. Update any trip's details.
5. Add activities to the trip, each with a title and description.

Technical Requirements:

1. Use React and Redux for state management.


2. Use a modern approach for CSS (CSS-in-JS, Styled Components, etc.). 3. The
application should be responsive, i.e., it should render properly on desktops, tablets, and
mobile phones.
4. Include animations and transitions for a better user experience.
5. Include client-side form validation.
6. Implement automated tests using Jest and React Testing Library.

Deliverables:

1. Source code, with a clear file and folder structure.


2. A README file describing how to run the application, including any setup needed. 3. A
live, functional version of your project deployed to a free hosting service (like Netlify,
Vercel, or GitHub Pages).

Extra credit:

1. Implement accessibility best practices.


2. Use TypeScript for static typing.
3. Use GraphQL to mock the API for fetching and manipulating trip and activity data.
4. Add user authentication.
After the project has been submitted, there should be an interview to discuss the project in
detail. Here are some potential questions:

1. Explain the structure of your project. How did you decide to structure your components?
2. Can you talk through your testing strategy? What kind of tests did you write and why? 3.
Can you describe a challenge you faced while developing this project and how you
overcame it?
4. Can you explain how Redux helped in managing the state of your application? 5. How
have you ensured your application is responsive across different devices? 6. Explain your
choice of CSS solution and how it helped you style your components. 7. Can you describe
how you handled form validation in the application? 8. (If applicable) Can you explain why
you chose TypeScript and what benefits you found it provided?
9. (If applicable) Can you explain how you implemented user authentication? 10. If you
were to develop this project further, what features or improvements would you add?

You might also like