/deskplan

đź“Ž Managing your office supplies has never been easier!

Primary LanguageJavaScriptMIT LicenseMIT

deskplan

đź“Ž Managing your office supplies has never been easier!

Stack

  • Client written with React and Apollo Client.
  • Service written with Node and Apollo Server.
  • Data store managed with MongoDB and Mongoose.

Alpha version

An MVP (minimum viable product) with some nice-to-have features.

Product features

  • Manage your office assets: Create, view, update, and delete items.
  • Begin with a set of starter items to help you keep track of inventory from the get go.
  • Search your items by name.
  • Sort your items by date of creation, date of last update, name, or quantity to find them more easily.
  • Add links to your items to view the properties of your assets easily.
  • Duplicate existing items to use as a base to create new ones.
  • Responsive design: The user interface adapts to the size of your screen so that you can work on small devices or large screens.
  • Access your inventory even if you are offline or experiencing connectivity issues.
  • Update your inventory in no more than two clicks.
  • Something went wrong? A message informs you, if possible, about the nature of the error.

Technical features

Next: Version 1

Our goal is to provide a solution that we like to call the "JIRA of inventory management".

Next: Product features

  • Support multiple organizations and users behind a paywall.
  • Choose among various starter item templates tailored to best fit the needs of your office.
  • Update and delete items in batch to work with your assets more quickly. Select multiple items, update their quantity or delete them all at once, like you would do it with your emails in Gmail.
  • Keep track of the status of your items. Possible values could be: "Ordered", "Received", "Lost", "Broken".
  • Keep track of who has been assigned which assets.
  • Keep track of where items are located.
  • Add your own properties to the items within the inventory.
  • Choose between a dark and a light theme.
  • Provide message feedback to the user when items are being created, updated, or deleted, and when the operation was a success.

Next: Technical features

Development

You need node, npm, and mongod (see instructions) to be available globally on your machine. All other dependencies are installed at the project level.

See instructions for client and service.

Assignment (in French)

Le projet

Vous devez créer une interface permettant de faire l'inventaire d'un bureau. Faire l’inventaire d’un bureau signifie juste de compter ce qui est présent dans le bureau. Le niveau de précision d’un inventaire est illimité, si un agent le décide il peut compter le nombre de fourchettes. Dans le but de garder l’exercice simple nous partirons du principe que l’application est faite pour gérer un seul actif.

Features Ă  implementer

  • Ajout d’un Ă©lĂ©ment
  • Suppression d’un Ă©lĂ©ment
  • Le reste est libre

Évaluation

Le sujet étant très simple, et la liste de features réduite, il est attendu du candidat d’implémenter les features de bases, puis de laisser libre cours à son imagination pour réfléchir à d’autres features et les implémenter. Les “bonus” attendu sont des features permettant de rendre le projet plus pratique à utiliser et plus efficace.

Le but de l’exercice est de juger le niveau technique du candidat, mais également de juger sa capacité à réfléchir aux différents cas d’usages d’un produit, et de se mettre à la place de l’utilisateur final.

Il n’est pas question de rendre un projet complet prêt à envoyer enprod, ça reste un exercice d’entretien, donc les idées les plus complexes pourront tout simplement être présentées à l’oral pendant la review du projet.

Informations

Temps de travail : Ce qui vous semble raisonnable.

Exemples d’objets :

  • Imprimante
  • CafĂ©
  • Fontaine Ă  eau
  • Bureau
  • Chaises
  • Verre d'eau
  • TĂ©lĂ©vision
  • Ventilateur

Rendu

Envoyer une archive du projet, ou un lien Github/Gitlab/Bitbucket, avec les instructions d’utilisation.