Campus MERN Application Development Test Topics
Campus MERN Application Development Test Topics
Development Test
IMPORTANT INSTRUCTIONS:
1. This is a PROGRAMMING TEST, you need to write the code on your own. If you
plagiarise your code or share it with your class / batchmates in parts or in full, we’ll
blacklist you from CartRabbit interviews for life.
https://medium.com/javascript-in-plain-english/5-best-practices-for-writing-clean-javas
cri 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/
5. You need to submit the Database Schema along with your code.
SUBMISSION INSTRUCTIONS:
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] (Refer this screenshot:
https://www.evernote.com/l/AjzEXv6h451Ot5JtQj4ooKq8YDOjVBSHW1c )
6. Send an email to [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 PDF or TXT or any other
formats.
DURATION
15 days. 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]
PROGRAMMING LANGUAGES ALLOWED:
Backend / API:
You can choose any ONE of the following languages to write your code:
Frontend:
You can use ANY or ALL of the following to develop your frontend (The User Interface)
Javascript (any framework is allowed: ReactJS / Angular / VueJS), jQuery, HTML, CSS,
Bootstrap. Even Java Server Pages (JSP) is ok.
NOTE: If you are NOT familiar with creating the frontend, then you can just develop a RESTful
API alone and use a PostMan collection to demonstrate the functionality.
Database:
The database should be one of the following
MySQL / PostgreSQL / MongoDB
If you prefer any cloud hosted database, then you can also choose MongoDB Atlas / Firebase
Realtime DB / Firestore / AWS DynamoDB
Programming Tests
Here are FOUR questions / scenarios for the application development. You can choose ANY
ONE of them.
Choose ANY ONE of the following to develop the application. Choose ONLY ONE.
Overview
Think about house owners who allow paying guests to stay in their home for a short period. Say,
less than 30 days.
The house owners need an application to take bookings and manage their bookings properly.
Example:
John owns a house in Coimbatore. He rents TWO rooms in his house for paying guests. A
guest can book a room. Minimum stay is 1 day. Maximum 30 days.
Andrew has two houses. He has 5 rooms in these two houses. A guest can book a minimum of
1 room for 1 day. Maximum booking duration can only be 14 days.
The app allows house owners like John and Andrew to register their properties, upload the
details of each room (like a name for each room, its floor size, number of beds in the
room, amenities in the room).
In the end user perspective (customer), any one can book a room.
Customers can see a list of all rooms from different house owners. They can browse, see the
details of each room, check availability. Then book a room. Once a room is booked for a period,
other customers should not be able to book it.
Specifications:
House owners:
- Can register for an account with an email address and a mobile number - Create / edit /
delete rooms and their details, set the minimum, maximum booking period. Set a rent
amount for each day
- Upload photos
Customers:
- Can register for an account with an email address and a mobile number -
They can browse all rooms available for booking
- View details of each room, and their photos
- See an “Availability calendar
- Choose the dates and book
Overview
This application is for owners of Bike service stations. It helps the owners to list all the services
they offer. Customers can choose one or more services to book
Example:
John’s customers can register for an account with their email address and mobile number.
They can choose a service. Book the service at a particular date.
Once the customer booked a service, John receives an email notification with details about the
service requested by the customer.
Once the service is completed, john will mark the specific booking (of a customer) as “ ready
for delivery”
The customer will receive an email saying that his bike is ready for delivery.
Specifications:
Customers
- Should be able to register for an account with his email address and mobile number -
Book a service at a particular date
- See the status of his booking
- See all his previous bookings
- Receive an email as soon as his booking is ready for delivery
3. Waitlist application
Overview
Please create an application that helps potential customers to sign up to a waiting list of a new
iPhone product.
- The app allows a potential customer to sign up to the waiting list with his email
address. (he will see a screen with an email address)
- As soon as he signs up, his position in the waiting list will be displayed. (The first customer
gets the default number of 99. When the next customer signs up, his waiting list
position is 100)
- Once he signed up for the waiting list, he will get a unique referral link - He
can share this link to his friends.
- If their friends sign up using his referral link, he will “move up” by 1 place in his position
(Example: John has joined the wait list at position: 120. He referred 10 of his friends.
When they joined, John’s position will go to 110)
- Once a customer reaches Position 1, he will receive an email with a coupon code to
purchase the new product.
So this involves:
An administrator area:
Frontend:
1. A sign up form for a potential customer to enter his email address and join the waiting
list
2. Show them their position as soon as they signed up.
3. Receive a unique link as soon as a customer signed up
4. Receive the email as soon as the customer reaches the Position 1
NOTE:
We have intentionally left out some of the minute details required for this application. Use
your creativity while developing the application.
Clue: Think you are in a Game. The more invites you do, the best chance of getting to the top
position.
4. Micro credit application
Overview:
The application helps “Salaried persons” to apply and get approved for micro loans
automatically using Artificial Intelligence.
The app lets any Salaried person register for an account with their email address and mobile
number.
Once the details are captured, the person should be able to apply for the loan. Once the
customer applies for a loan, the app will review his details, analyse it and run its algorithm to
determine:
- Is the person eligible for a loan ? or should be rejected
- If yes, how much loan amount can be granted?
- What could be the repayment period and EMI?
- Risk score
These results should be displayed to the customer after he submits his loan request.
The app should have a “well written algorithm” to analyse the details of the customer, check
similar loan requests from customers with similar profiles, analyse the spending habits,
determine the eligibility based on various criteria and more.
NOTE: A well-written, thoughtful, creative algorithm will be given weightage. And You should
be able to explain the logic behind your algorithm, recommendation / prediction engine
during the interview.
Summary
- 15 days is the time to submit your code.
- Code should be submitted only via a GitHub private repository - If you
have any doubts, regarding the questions, send an email to:
[email protected]