Loja Geral.NET
E-commerce site with intranet in LAMP and connected to external APIs.
Started in:
August, 2013
Technologies
LAMP, PHP5, HTML5, CSS3, JavaScript, Ajax, jQuery, AngularJS, JSON, XML, GIT, PHPUnit, jpGraph, Laravel, Internal Cache, Cookies, WebServices
Objective
Create an e-commerce website for a store that sells electronic components and related tools online, including also all administration and management interfaces.
Responsabilities
Analyse requirements, write use cases, test scenarios, design and fullstack development.
Core Features
- Customer Interface
-
Categories have suggested products. Screenshot
- Shopping cart should be visible and updated as the customer adds items.
-
Allow customers to add items to the shopping card straight from the products list. Screenshot
-
Clicking a product on the list must provide additional informatiom about this specific item. Screenshot
- Anytime a product is added to the shopping cart it should update the cart summary without reloading the page.
- Shopping cart must be saved automatically, even if the customer has not logged in.
- The search must include specific tags registered for each product.
-
Any extra fees, such as payment or shipping, must be calculated before placing an order. Screenshot
- Payment feedback (approved, pending or declined) should be automatically updated according to external APIs.
- E-mail the customer once his order is posted or the delivery status changes.
- Management Interface
- Alerts, which can come from any unexpected behaviour from any module, API or order tracking.
- Cashflow, including integration with banking reports.
- Sales, including several types of reports.
- Supplier and Purchases, from initial quoting until receival of the products.
- Inventory, including tracking products in the warehouse.
-
Products, including different price tiers for bulk buying. Screenshot
- Special Products, allowing to generate new products and specifications according to their technical properties.
- API Integration
- With PayPal and MercadoPago payment gateways.
-
With Brazilian IRS system to issue legal invoices prior to shipping. Screenshot
- With MercadoLivre (similar to eBay) to receive external orders.
- With purchase in XML electronic invoices to automate purchases, pricing and stock management.
- With Correios (Brazilian Post) to calculate fees, to generate labels for bulk-posting and to track packages until they are delivered.
Technology Usage
- Ajax to update the shopping cart without forcing a page reload.
- AngularJS to design pages with many repetitive elements.
- CSS3 to style the HTML pages.
- Cookies to store the shopping card when the customer is not logged in.
- GIT for version control and repository.
- HTML5 validated to ensure its quality.
- Internal Cache suggested products in categories, due to the complexity of the selection algorithm.
- JSON to communicate with RESTful services such as PayPal and MercadoLivre.
- JavaScript on client side programming.
- LAMP as in Linux, Apache, MariaDB and PHP.
- Laravel framework with Artisan, Composer, Eloquent and Symfony Components.
- PHP5 Object-Oriented programming is used on the server side.
- PHPUnit to elaborate test cases.
- WebServices to listen for external APIs for orders purchased at an external system or delayed payment approval.
- XML to generate, sign and authorize the invoices with the Brazilian IRS.
- jQuery mostly for Ajax requests and DOM manipulation.
- jpGraph library to create dynamic graphics in reports.