Architecture
Client adds loading script to website. Loading script fetches application code from gateway and bootstraps application in restricted browsing context.
When activated raffle Site Search application interfaces with application gateway to answer end-user questions and logs user interactions to provide analytics and improve AI model.
raffle Insights is a web application that allows clients to:
- Configure application look and feel
- Setup customer service channels
- Review analytics and insights
Support
raffle.ai is available weekdays from 9am - 5pm CET and provides 24/7 hour 1st line support on https://raffle.ai using raffle Site Search.
raffle.ai main number and email are listed on the website.
Maintenance
raffle.ai operates with 4 level of software maintenance:
Corrective maintenance deals with the repair of faults or defects found in day-today system functions. A defect can result due to errors in software design, logic and coding. raffle.ai is monitoring all parts of the system that alerts relevant staff in case of faults detected. In this way raffle.ai will always aim to correct any flaws before the user becomes aware.
Adaptive maintenance is the implementation of changes in a part of the system, which has been affected by a change that occurred in some other part of the system. Adaptive maintenance consists of adapting software to changes in the environment such as the hardware or the operating system.
Perfective maintenance mainly deals with implementing new or changed user requirements. Perfective maintenance involves making functional enhancements to the system in addition to the activities to increase the system's performance even when the changes have not been suggested by faults. This includes enhancing both the function and efficiency of the code and changing the functionalities of the system as per the users' changing needs.
Preventive maintenance involves performing activities to prevent the occurrence of errors. It tends to reduce the software complexity thereby improving program understandability and increasing software maintainability. It comprises documentation updating, code optimization, and code restructuring. Documentation updating involves modifying the documents affected by the changes in order to correspond to the present state of the system. Code optimization involves modifying the programs for faster execution or efficient use of storage space. Code restructuring involves transforming the program structure for reducing the complexity in source code and making it easier to understand.
List of Open Source software components for raffle Site Search
Application
Go: https://golang.org
Chi: https://github.com/go-chi/chi
Gorm: https://github.com/jinzhu/gorm
Postgres: https://www.postgresql.org/
Redis: https://redis.io
Azure: https://azure.microsoft.com/
Nats: https://nats.io (edited)
NodeJS: https://github.com/nodejs/node
ExpressJS: https://github.com/expressjs/express
React: https://github.com/facebook/react
Tailwindcss: https://github.com/tailwindcss/tailwindcss
AI
Tensorflow: https://github.com/tensorflow/tensorflow
Numpy: https://github.com/numpy/numpy
Pytorch: https://github.com/pytorch/pytorch
Nltk: https://github.com/nltk/nltk
Flask: https://github.com/pallets/flask
Pandas: https://github.com/pandas-dev/pandas