Landpin came from the same business as Parcel Fact and like ParcelFact.com was a custom Angular project built for an existing site.
The site uses Woo Vendors and WooCommerce to help individuals post their pieces of land for sale. While not transactions actually happen on the website, the previous developer saw that Woo would give them the best out of the box solution for the business needs.
The original business need brought to me was to create a new user experience for vendors as they logged into WordPress and saw default WordPress admin, navigation, and edit screen. There were a couple plugins already being used to clean up the menu(s), but the edit screen was still not a great experience for new vendors coming in.
A Custom Angular UI
One of Woo Vendors biggest fallbacks (in my opinion) is that it lacks an front end UI / dashboard for the vendors. Vendors log into wp-admin and see a limited admin menu, however the user experience is very limited.
One of the biggest challenges I faced with this project was not creating a way for a vendor to quickly see / edit / add new listings, but actually the custom data that was implemented before. There were over 20 custom fields that all needed to be validated before a product could be sent for review (prior to publish). I had to find an easy way to tap into these and bring them into Angular, making sure that the form validation was done with clean UI / UX.
The second part of the website equation was actually the use of a membership plugin. Vendors could only have a certain amount of published listings based on their membership level. So on top of all the validation per product, I had to make sure they couldn’t even request a piece be published if they already had hit their max allowed for their membership. They could create as many draft products as they wanted, but published products (including pending publish) were capped based on membership
Luckily the approval process is baked into WordPress and the Woo System already. I just had to make sure all fields, and custom fields were validated prior to them submitting the product for review. That API callback was made custom, and triggered the same callback(s) had the product been set to “pending” or “review” via the WordPress dashboard.