ekyc

Electronic KYC process with uploading ID document using OAuth 2.1 (experimental)
Log | Files | Refs | README | LICENSE

6.results.tex (2160B)


      1 \chapter{Results} \label{result}
      2 
      3 Following a significant investment of time and effort, I was able to develop KYCID with a clean code structure (in accordance with the principles of clean architecture), which allows the code to evolve and be maintained.
      4 
      5 In addition, the testing strategy has been followed more closely, with the implementation of unit, acceptance and integration tests that are relatively comprehensive. However, due to a lack of time and the necessary setup to get started, no end-to-end tests could be set up and were replaced by manual tests.
      6 
      7 In terms of operational functionality, the system can be readily configured via the variable environment, as detailed in the user manual (see section \ref{configuration}). The configuration options allow the user to select and configure various aspects of the system, including persistence, email and SMS sending, and HTTPS server configuration. 
      8 
      9 Persistence has two modes: the first is in-memory, where all data is stored in memory (a useful feature for testing and development purposes), and the second is postgres, where all data is stored in the database with the same name. In terms of email transmission, there are two modes: a "fake mode," which logs the email to the console (used for testing and development), and an SMTP mode, which sends an email using this protocol.
     10 
     11 With regard to SMS transmission, there are also two modes: a "fake mode," which is similar to sending email, and a Swisscom mode, which uses the Text Messaging (SMS) service to send SMS.
     12 
     13 In terms of functionality, the main features are present, namely a connection system with email verification, a brute force protection system for passwords and codes entered, and a procedure for sending emails and text messages. Additionally, a session system, as well as user verification by SMS, identity verification with ID card/passport scanning, document MRZ with validation by admin, and connection via OAuth2 authorisation flow are included.
     14 
     15 Nevertheless, certain functionalities are absent, including PKCE security, password reset, request to forget, and a CSV export system for billing the service to the customer.