You are on page 1of 3

Coding Exam: Artist Portfolio Web App

OVERVIEW
Create a full-stack web application that meets the following requirements. This web app is for an
artist to be used as a portfolio. It should also allow the artist to display a calendar with events.

Feel free to reach out to us if you need any clarifications (careers@decimalapps.com)

Frontend (React/Next.js)
● Create a homepage that displays a calendar with event details and portfolio of the artist.
● Display event details with at least the following information: Event name, date, time,
location, and a brief description.
● Display artist details/portfolio with at least the following information: Artist name, a brief
bio, and a gallery of their artwork.
● Use React (preferably Next.js) for building the frontend.
● Ensure a responsive design that works well on both desktop and mobile devices.
Backend (Node.js/Express.js)
● Create a RESTful API for managing event details with CRUD operations (Create, Read,
Update, Delete).
● Use MongoDB as the database to store event data.
● Implement API endpoints for listing all events, retrieving a specific event by ID, creating a
new event, updating an existing event, and deleting an event.
● Implement proper validation and error handling for API requests.
● Use Express.js for routing and middleware.

Additional Requirements
● Maintain a Postman collection with sample requests to test the API endpoints.
● Include clear documentation in the README.md file on how to set up and run the
application locally.
● Optionally, add unit tests for both the frontend and backend components.
● Commit your code frequently to your GitHub repository, with clear commit messages.

Submission
● When you have completed the coding exam, share the link to your GitHub repository with
the hiring team (careers@decimalapps.com).
● Ensure that your repository is public.
● Write a brief summary or explanation of your implementation choices and any additional
features you added (if any) in the README.md file.
Evaluation Criteria

● Code quality and organization.


● Completeness of the features as described.
● Proper usage of React (or Next.js) for the frontend.
● Correct implementation of the REST API with Express.js.
● Proper database schema design using MongoDB.
● Validation and error handling.
● Postman collection with working API requests.
● Documentation and instructions in the README.md file.
● Optional unit tests (if included).

Good luck with your coding exam! 😊

You might also like