Skip to content

maple-dev-team/Test-Assignment-CRUD-Inventory-Management-Application

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 

Repository files navigation

Test-Assignment-CRUD-Inventory-Management-Application

Instructions: You have been tasked to build a CRUD (Create, Read, Update, Delete) Inventory Management Application using React with TypeScript, MongoDB, and Next.js. The application should allow users to manage inventory items, perform basic data manipulation tasks, and complete algorithm challenges. Additionally, you have the option to implement authentication as a bonus task. Please follow the instructions below:

Task 1: Inventory Management Application

  1. Create a new Next.js project with TypeScript.

  2. Implement a MongoDB database to store inventory items.

  3. Create the following pages and functionalities:

    ◦ Home page: Display a list of all inventory items with basic details (e.g., name, quantity, description).

    ◦ Add item page: Allow users to add new inventory items with name, quantity, and description.

    ◦ Edit item page: Allow users to edit existing inventory items.

    ◦ Delete item functionality: Allow users to delete inventory items.

    ◦ Implement proper navigation between pages using Next.js routing.

  4. Use React components and hooks for building the application.

Task 2: Data Manipulation and Algorithm Task

  1. Implement a function that takes the inventory data (an array of objects) and returns the total quantity of all items in the inventory.

  2. Implement a function that takes the inventory data and returns the item with the highest quantity.

  3. Write an algorithm to sort the inventory items based on their names in alphabetical order and display the sorted list.

Bonus Task (Optional): Authentication

  1. Implement user authentication using any appropriate method (e.g., JWT, OAuth).

  2. Allow only authenticated users to access the inventory management functionalities.

Evaluation: Your assignment will be evaluated based on the following criteria:

• Git Commits are meaningful, and the commit history demonstrates your development process.

• Correctness and functionality of the CRUD inventory management application.

• Proper data manipulation and algorithm implementation.

• Proper usage of React components and TypeScript.

• Code quality, readability, and maintainability.

• Proper usage of MongoDB to store and retrieve data.

• Bonus points for implementing authentication correctly.

Submission Guidelines:

  1. Fork this repository and create a new branch for your work.

  2. Complete the assignment following the instructions above.

  3. Ensure that your code is well-documented and includes clear instructions to run the application.

  4. If you have completed the bonus task, provide clear instructions on how to test the authentication functionality.

  5. Once you're done, create a pull request to the original repository from your forked branch.

  6. Make sure to include any relevant notes or comments in the pull request description if needed.

Important Note:

• Avoid using any existing boilerplate code or pre-built templates specifically designed for inventory management. We expect you to write the application from scratch to demonstrate your coding skills.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published