Tuesday 26 May 2020

[Help] Project architecture definition

Hello, I'm a developer (with 1 year experience and impostor syndrome) seeking help to define the architecture for a new project.My boss assigned me to a new project where I need to build a comercial web application, with a subscription fee, which can be installed locally on a client's network, and will mostly do relational database processing (SQL Server, Oracle, MySQL).The core functionality of the project is already built in SQL language. But someone with access to the database would have access to the source code using a SQL profiling tool, so we must translate that SQL functions to a language that can be compiled to hide the sourcecode from the users.So the main things to keep in mind for the architecture is:Hide the sourcecode from customers. The customers will likely have tech team, so we don't want anyone snooping around the sourcecode.The architecture should be database friendly, what I mean by that is the back end language should have lots of functionalities or packages that handle database manipulations.The application should be subscription based, so if a customer stop paying we need to remove their access even if the application is installed locally.So these specifications raised some questions for me:Can I use TypeScript with PKG package to compile the javascript to a binary. Is it as safe as using another compiled language? or should we pick another compiled language?Can Python be used alongside Cython to compile it? Is Python a suitable language for manipulating databases? (I ask this because the guy who made the core functionalities is not a web developer, and only has affinity with Python environment, so maybe he would suggest using Python)Is it possible to make sure users will only use the application as long as they're paying, even if their application host is not connected to the internet. Maybe use a serial system, or a prepaid system?any suggestion or comment is welcome.Thanks in advance.

Submitted May 27, 2020 at 12:33AM by mariomxpx

No comments:

Post a Comment