EveLabOfficial / fsd_assessment

1 stars 2 forks source link

Full Stack Developer Technical Assessment

Introduction

Welcome to our project! You will be contributing to a web application for one of our clients, a travel agency. Your task involves designing and implementing a scalable architecture using Next.js as the base. This includes considerations for microservices, serverless functions, or monolithic structures.

There are no existing features implemented. Using the provided Figma file, you will build the frontend from scratch. Additionally, you will design the architecture of the web application using TypeScript, NextJS and backend languages of your choice. This design should accommodate functionalities such as bookings, payments, destination searching, and storage.

Tasks

Task 1: Design Scalable Architecture

Objective: Create a clear, readable, and understandable architectural plan for the web application.

Deliverable:

Task 2: Implement Scalable Architecture

Objective: Implement the backend architecture based on your design.

Deliverable:

Task 3: Implement Frontend Design from Figma

Objective: Develop the frontend of the application based on the provided Figma design file.

Deliverable:

Task 4: Back-end Assignment

Objective: Develop the back-end for the travel booking application.

Deliverable:

Task 5: FullStack Assignment

Objective: Complete the full travel booking application by integrating the front-end and back-end.

Deliverable:

Bonus Tasks:

Task 6: Multi-Language Support

Objective: Enhance accessibility by adding multi-language support to the application.

Deliverable:

Task 7: Implement Role-Based Access Control (RBAC)

Objective: Strengthen security and usability by implementing role-based access control.

Deliverable:

Getting Started

You can download all the assets, fonts, and everything from Figma itself. If you do not know how, please follow the given YouTube tutorial on how to download images and assets from Figma.

Video: https://www.youtube.com/watch?v=__ABPkb0aF8&ab_channel=Figma

Figma File: https://www.figma.com/design/lUKbXA4lcGwx4vqzYOT2dp/Eve-lab?node-id=1-8&t=HTYpxfMYoUTB7EQp-1

  1. Fork and Clone the Repository
    • Fork the Repository: Visit GitHub repository, click Fork to create a copy in your GitHub account.
  1. Install Project Dependencies After cloning the repository, you'll need to install the project dependencies. This step is crucial for ensuring that all the necessary libraries and frameworks are available on your local development environment.

  2. Navigate into your project's directory: cd fsd_assessment Run the following command to install the project dependencies: npm install This command reads the package.json file in the project directory and installs all the dependencies listed there. It might take a few minutes to complete.

  3. Create a task Branch With your dependencies installed, you're almost ready to start coding. The next step is to create a task branch where you'll develop your assigned tasks:

git checkout -b task-yourtaskename Replace yourfeaturename with a descriptive name for the task you're working on.

  1. Running the Application To run the application locally and see your changes in real-time, use the following command:

npm run dev This command will start the development server and open the application in your default web browser. You can now begin implementing the assigned features, making sure to check your progress frequently by viewing the application in the browser.

  1. Submitting Your Work Once you have completed the tasks, please follow these steps to submit your work:

  2. Push your branch to your forked repository on GitHub: git push origin task-yourtaskname

Prepare a brief overview of the tasks you've implemented, along with any feedback or comments you have about the assessment process. Email Miles at contact@evelab.tech with: A link to your forked repository. The overview of implemented tasks and any additional comments.

Evaluation Criteria

DEADLINE: SUNDAY 7TH JULY 23:59 BST No extensions will be considered.

We look forward to seeing your contributions to the project and wish you the best of luck!