We are looking for a qualified Web Development Company with good skills in PHP, mySQL, web scraping and database management frontend.
1) Scrape data from wholesalers website
2) Build product database backend based on scraped data
3) Develop admin panel for database management
1.1) Initial scraping
A ~5000 product product wholesaler database needs to be scraped and transferred into a database backend.
The website where the data needs to be scraped requires user/password and is based on ajax/html
1.2) Database backend admin panel
Develop a management frontend where products can be (re)named, translated, described, priced, grouped, categorized and illustrated with pictures by our staff.
1.3) Update function
Synchronisation function to update the database and check for new and discontinued products if needed.
1.4) User management of backend admin panel
The management frontend should allow user to create descriptions, groups, upload images etc. but not give admin rights to normal user. Entries created or changed by normal users must show up at administrative level for review where admin have the ability to correct or undo changes if needed.
Only bid if you have experience in and already completed similar projects. To make sure we do not waste our time and that you read the full description and our requirements, send a URL to a similar project already completetd by you and shortly explain how you did it. Bidders who do not comply waste their time and will fail. Thank you.
1.5) Auto grouping function
An automatic grouping function of products should be implemented.
Background: The products database contains of many products of which many single products are from the same kind.
For example "sampleproductname" is available in different colors, as whole corns or grinded. The system must have auto function to group products on the basis of the first word of product name. So in this example the product group "sampleproductname" is created automatically and connected to all sampleproductname articles.
Scope of full system
Basically the product database and backend are used to feed multiple shops later on. Every shop will have a different inventory, different prices, minimum order etc.
In the first step we need to duplicate the suppliers database as the core database.
In the next step the admin panel must be created to enhance this database with different product names, descriptions, images etc. The enhanced database is then used for our shops.
Of course the products are still connected by their ProductID to the core DB, especially regarding core features like avaibility and minimum order amounts. But it should be also possible to fall back on the core, for example if no own description is created yet.
Please note that the product ID from our supplier is only used internally. For the customers the system must generate our own product Ids to be displayed on the shops.
If we implement more product characteristics in future, the equivalent DB fields should be easy to setup.
Design of Product Groups and Categories
A Category is defined as containing certain Products groups or Sub-Categories
Categories for example are used in the menus of our shops.
A Product group is defined as containing a certain set of products
A Shop category set is defined as a data base containing different product categories used in a certain shop.
It is important to note that products may be connected with with more than one product group. Product groups may be connected with more then one category or sub-category. Categories may be connected to more than one shop category set.
Keeping track of suppliers database changes
We need to keep track of changes in the suppliers database and need a page on the panel called "change log" displaying all changes and aditionally display product dependend changes on each product page. No need for notifications.
We should split the initial scraping into parts:
Scrape only the product list without loggin in (all 3 languages they offer)
This task you can do on your server and easily use proxies if needed.
(I don't think they have some kind of protection, but not sure about that)
Yes we include Images but only the highest resolution picture. I think we better store them as file not mysql - "productID.jpg" should do it
All other images are not interesting as we have to do image processing anyway at a later stage...
That Should be very easy, because the product list as well as the images do not require login
Detailed scraping while being logged in
We have still some Product details missing. However they are not vital and can be collected later and more slowly. We we can collect these details while somedy is working on the management panel. When the management panel is installed on our server we log in to the suppliers system from server side and every time somebody edits a description or article name, the server connects to the suppliers system and collects the missing information.
Generally I think we should change from "whole database update once a week" to "update on request".
Whole database update is then only needed for new products and price changes, but this can be done without being logged in.
54 freelancers κάνουν προσφορές κατά μέσο όρο $527 για αυτή τη δουλειά
I have 7+ years experience in this field. After carefully reviewing the experience requirements for the job description, I feel that I am suitable for the job.