wls-productsales-app

The project is a TypeScript application that serves as both a local OAuth authentication server and a backend for a wholesale system, which allows you to manage simple CRUD operations on products and sales based on different access privileges.


The software is structured to ensure security and flexibility in authentication, allowing users to access different features based on their privileges. The key features of the system are listed below:

  • OAuth Authentication: the application acts as an OAuth authentication server, allowing users to authenticate and obtain access tokens to protect sensitive resources.
  • User Management: users can access their specific information and privileges. Two-level authentication (Simple Auth and JWT Auth) ensures the security of operations.
  • Sales Management: users can perform CRUD operations on sales, view specific sales for sellers, customers or products, and edit or delete existing sales.
  • Product Management: users can perform CRUD operations on products, access specific product information, and make changes or delete them.

This repository is part of a set of four interconnected projects created as part of my work for the exam of secure service-oriented architectures:

  • wls-productsales-app: PHP ERP application with custom OAuth authentication for role-based access privileges.
  • wls-auth-client: a PHP application for OAuth authentication, returning authorization codes and usernames for authenticated users to an editable endpoint.
  • wls-backend-server: OAuth authentication server and wholesale system backend in TypeScript.
  • wls-db: Mysql database.

Short description

Basic ERP application with custom OAuth authentication for role-based access privileges.