Skip to content
Alexander Nnakwue edited this page Jun 24, 2018 · 4 revisions

Welcome to the vendorDirectoryClient wiki!


The vendor directory which is a precursor of the vendor application, intends to serve vendors who provide one form of service or the other. Registered Vendors who are listed on the platform provide a clear and descriptive portfolio of what they offer, so that clients who seek these exact services can easily search for them and make requests or bookings.

We intend to utilize carefully selected and minimal set of technologies for building this product, so as to focus majorly on business logic and speed to market; without compromising on product quality - in terms of accessibility, scalability and industry standards.

For the Front-end/client-side of the application, we intend to use React JS, a popular UI library based off Javascript and used in production by Facebook. As regards state management for our Front-end, we intend to utilize MobX. MobX-state-tree is a state container that combines the simplicity and ease of mutable data with immutable data alongside the performance of observable data. So we get to combine the best features of both immutability (transactionality, traceability and composition) and mutability (discoverability, co-location and encapsulation) based approaches to state management.

For the API which will serve as the back-end of our application, we intend to utilize a BaaS (Back-end as a service development framework) tool - graphcool. Graphcool which is based off Graphql,is an open-source and self-hosted service used to develop serverless GraphQL backends. The Framework offers an opionated backend setup, including GraphQL database mapping, subscriptions & permission system. GraphQL is a domain specific query language for APIs and a runtime for fulfilling queries with existing data. It provides a complete and understandable description of the data in your API and makes it easier to evolve APIs over time.


The high level features for the Vendor directory are listed in the following section;


  1. A Sign-up page for Vendors - A form should be made available to enable new vendors register on the platform
  2. A login page for vendors - For already registered vendors on the platform
  3. A high level permissions/authorization setup for the admin. The rights should be super; such that the admin should be able to verify,add and remove vendors.
  4. Clients/users should be able to gain access to the site without authorization or login-in. They should be able to view a list of vendors on visiting the dash board of the web app for the first time. However, if they request for a service or make a booking, they should then be prompted to provide their details by registering.
  5. The dash board should display a list of vendors with a search bar to enable users search for available services.
  6. There should also be a button that leads to each vendor's profile page component. This would enable users to rate, comment on a vendor, make appointments and be able to add vendors to their lists of favorites vendors.
Clone this wiki locally