CPAChem web-site development
Overview
This is the documentation dedicated to the development of the new web portal, which should replace the web site currently hosted at https://wwww.cpachem.com.
It contains articles describing the business logic, required functionalities, as well as technical documents relating the requirements with the currently available public APIs.
Objectives
The new web platform will serve as a one-stop solution for customers to browse through a catalog of chemicals, place orders, and track their status. It will also provide associated documents for each chemical and order. The portal is expected to be user-friendly and intuitive, allowing customers to easily navigate through the catalog, place orders, and access necessary documents. It will also integrate with the existing ERP system, ensuring seamless data flow and management.
Use Cases
The portal is designed with the following use cases in mind:
- Customers can browse through a catalog of chemicals, which includes substances, mixtures, referent chemicals, and more. The catalog will be organized into categories, making it easy for customers to find what they're looking for.
- Customers can place orders for standard catalog products or submit a request for a custom chemical. They can also track the status of their orders and access shipping information and associated documents.
- The portal will integrate with standard payment system providers, making it easy for customers to pay for their orders.
Requirements
The development of the portal involves several functional and non-functional requirements:
Domain Analysis
Analyze the existing domain and catalog chemicals. This includes:
- Substances
- Mixtures
- Referent chemicals (pharmacopeias)
- Catalog categories (tree-based)
- Catalog products
- Packing options: weight, volume, kits
- Pricing options: per category / customer / region
- Customer orders
- Tracking information
- Associated documents
Service Analysis
Analyze the existing services, including those for exposing the domain (Get / List / Find) and documentation services for obtaining associated documents.
ERP System Integration
Define the scope of integration with the ERP system.
System Design
The system design will involve:
- Architecting the application structure and the (optional) integration with the existing domain.
- Specifying the server-to-server communication design (REST, gRPC, SignalR, etc.).
- Specifying any additional web service API endpoints that may be required.
Development Environment
Our development environment is located at test.cpachem.com. The OpenAPI documentation for the backend services can be found at http://192.168.21.100:8733/docs/. The environment setup will involve:
- Configuring development, testing, and production environments.
- Establishing continuous integration/continuous deployment (CI/CD) pipelines.
Development
The development process will involve implementing the necessary components for the user interface, including:
Standard pages
- Home
- Customer login / registration
- About us / contact info
Catalog navigation pages
- Using the catalog categories
- Text base searching
- Reference numbers
- Description
- Filtering by chemical properties
- Filtering by chemical composition
- Custom sorting options
- Price
- Amount
- Relevance
Authenticated customer pages
- Order placement for standard catalog products
- Submitting a request for a custom chemical
- Tracking the status of all pending orders
- Details about past expeditions
- Shipping information
- Download associated documents: Invoice, Delivery note etc.
- Details about all previously ordered products
- General information / chemical composition
- Download associated documents: Certificate, MSDS, Label
End-client pages
- Obtain information about a previously purchased product
- General information / chemical composition
- Download associated documents: Certificate, MSDS, Label
Integration with the standard payment system providers
- BORICA
- PayPal