Alinex Development Guide¶
The book works as a ground documentation containing information and help in the area of web development. This includes everything necessary from the environment, server and client programming including a lot of helpful tools and technologies. Also some administration tasks in operating such systems are contained, too.
It contains a big area with a lot of different competing fast and always progressing technologies. That makes it difficult to keep up to date with everything. Therefore this book can't be complete or up to date at any time. But it will evolve and you may look again some time.
This is a book explaining all the major parts and development background around the Alinex named coding projects. But it is only partly specific to Alinex and more a book to learn and use the different IT technologies with best practice from the Alinex modules. The epics included are the ones I decided to look at and if something is missing maybe I had not go deeper into it and may try it out and document it later. Also some tasks which are very simple from my point of view may be missing. Some descriptions are made while learning so this is also a reference for myself. That makes it a knowledge base and collection of my personal progress in learning the different technologies and often contains short overviews and only the essential facts of the original documentation.
The decisions from this book are not real hard facts but a definition for me to follow as possible. It may change as the world around changes. And you don't have to follow this standards but it helps for all which are working deeply with the Alinex modules and participating to it to understand the parts behind. Some of the Alinex modules use an older standard (like the CoffeeScript based ones) but will eventually be upgraded to newer versions.
Keep in mind that the book explains a lot of technologies around web development but it is neither meant as a complete guide to teach the technologies more like a best practice and how to bring it all together.
Structure of Book¶
The top level chapters are:
With this introduction about the book, the Alinex Namespace and myself. Including a short blog about what is going on and on what I work.
All the tools around, which you may need to develop and work on the code. It describes programs and technologies often used to do the development work. And it contains all which is needed within the whole development cycle including CI/CD. Starting with Freeplane, GitLab/GitHub, the editors Code/Atom, Git, MkDocs/BitBook to make documentation till KeePass store as helper everything is included.
Tools and technologies which are used in the client and server area. This contains:
- Linux: Distribution, Tools and Applications
- Middleware: Webserver, Databases and more
- Languages: Compiler Languages, Script Languages and Markup formats excluding languages with a big appearance here are outsourced to own chapters below
This chapter will show ready to use solutions for programming or as application. Here you find all the free tools which are build in my Alinex namespace with documentation, and code.
As a system programming language which features stability Rust may be used on the server side in the client server programming.
The book is made responsive meaning it's rendering will vary and always be optimizes for the device and window screen you use. You may access it with the smartphone as good as within your PC Browser.
Specially on your smartphone you can not only access it in your browser but also make it look more like an app by calling "Add to Home Screen" from the browser menu. This technology comes from the PWA but as the book is static no service-worker or active elements are included.
As far as possible Alinex tries to not be restricted by a specific system or service but to come to an end it focuses more on specific systems and services.
At first this documentation is based on Debian Linux but now switched to also better support Arch Linux in the examples but it will work on any other Linux system or mac with some minor changes. You may also work with windows by replacing the few OS specific calls with appropriate ones or using the Windows-Subsytsem for Linux with a supported distribution.
All the environment tools used here may also be replaced by other ones for their work.
And at last the most important thing the end results are mostly not OS specific and will run on any system.
My key concepts are "Configuration over Implementation" and "Keep it Simple".
All the different modules in the Alinex namespace are loose coupled but optimal integrated. At first they solve my own problems but I will enlarge their functionality and often my problems are the problems of others, too.
I believe in open source and all the tools which are mentioned here are free for open source projects. But you mostly can also use them for private use.
This is not only written to teach others but as said before mainly to keep the knowledge as a reference for myself. Also it is not statically written but a type of living book which evolve and grow in time hopefully as fast as technology goes on. So read it once, but come back again to see the newest changes.
This book is also available as PDF, so if you need a static copy download: alinex-book.pdf.
The following statistics will give you a better understanding about it's complexity. The documentation has 291 pages (in A4 PDF format) and contains 574999 characters.
If you want to have an offline access to the documentation, feel free to download the 291 pages PDF Documentation.