{"id":23171009,"url":"https://github.com/ignatandrei/console_to_saas","last_synced_at":"2025-08-18T07:31:59.284Z","repository":{"id":38065650,"uuid":"176468711","full_name":"ignatandrei/console_to_saas","owner":"ignatandrei","description":"A book where you can learn how to build a SAAS product incrementally","archived":false,"fork":false,"pushed_at":"2023-03-05T14:24:39.000Z","size":30686,"stargazers_count":7,"open_issues_count":17,"forks_count":3,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-06T00:32:02.863Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://ignatandrei.github.io/console_to_saas/","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ignatandrei.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-03-19T08:59:42.000Z","updated_at":"2024-11-07T23:42:10.000Z","dependencies_parsed_at":"2023-01-27T07:01:04.243Z","dependency_job_id":null,"html_url":"https://github.com/ignatandrei/console_to_saas","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/ignatandrei/console_to_saas","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ignatandrei%2Fconsole_to_saas","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ignatandrei%2Fconsole_to_saas/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ignatandrei%2Fconsole_to_saas/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ignatandrei%2Fconsole_to_saas/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ignatandrei","download_url":"https://codeload.github.com/ignatandrei/console_to_saas/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ignatandrei%2Fconsole_to_saas/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":270961626,"owners_count":24675914,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-18T02:00:08.743Z","response_time":89,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-12-18T04:15:52.544Z","updated_at":"2025-08-18T07:31:58.382Z","avatar_url":"https://github.com/ignatandrei.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n\n\u003c!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section --\u003e\n\u003ca href='#contributors-'\u003e\u003cimg src='https://img.shields.io/badge/all_contributors-1-orange.svg?style=flat-square' /\u003e\u003c/a\u003e\n\u003c!-- ALL-CONTRIBUTORS-BADGE:END --\u003e\n\n_________________\n\n# Console to SAAS\n**How to transform a Proof Of Concept application to a Software As A Service product**\n\nThis book will guide you step-by-step to build a scalable product from a [proof of concept](https://en.wikipedia.org/wiki/Proof_of_concept) to production-ready [SAAS](https://en.wikipedia.org/wiki/Software_as_a_service). Any development done will start from a business need: this will make things clear for the team what is the impact of the delivery. \n\nYou will see different architecture patterns for [separation of concerns](https://en.wikipedia.org/wiki/Separation_of_concerns) and why some of them fit well and some of them not. Everything will happen incrementally and the product development history will be easy to be seen by analyzing commits. \n\nEvery chapter is a progressive journey with some specific challenges that will be overcome by specific programming best practices.\n\nThis can be considered as a .NET tutorial, that demonstrates the versatility of the platform to create different types of applications (CLI, Desktop \u0026 Website).\n\nTo have our finished product, we will see the two development directions:\n## On premise solution\n- how the idea gets a shape\n- creating the PoC\n- bug fixing \n- componentization / testing / refactoring\n- unit and integration testing\n- extending functionalities \n## As a service\n- transforming to a web application\n- authentication\n- possible arhitectures\n- continuous deployment\n- tight coupled microservices\n- messaging systems / loose coupled microservices\n\n\n## Download the book for free \n\nYou can find the code source at \nhttps://github.com/ignatandrei/console_to_saas\n\nYou can read online this book at https://ignatandrei.github.io/console_to_saas/\n   \nYou can read it offline by downloading the \n1. [PDF](https://ignatandrei.github.io/console_to_saas/consoleToSaas.pdf.html)\n2. [Word](https://ignatandrei.github.io/console_to_saas/consoleToSaas.docx.html)\n3. [Epub](https://ignatandrei.github.io/console_to_saas/consoleToSaas.epub.html)\n4. [ODT](https://ignatandrei.github.io/console_to_saas/consoleToSaas.odt.html)\n\nAlso, if you want to support us, you can buy this book from Amazon https://www.amazon.com/dp/B08N56SD4D .\n\n## Source codes\n\nYou can find the source code at [Console2SAAS](https://github.com/ignatandrei/console_to_saas/) or after each chapter.\n\n## How the chapters are organized\n\nEach chapter has the following steps:\n1. A *description* of the business challenge \n2. An *exercise* for the reader\n3. A *technical analysis*  - what should be modified in order to do the project\n4. Some *code* that shows how the challenge is solved (also, link to the full code to be downloaded)\n5. *Further reading* - if the reader wants to learn more \n\n## What we will build\n\nThe application will be a simple one: starting from multiple word documents we will build a summarizing Excel file. The point here is not to build the application 100% production-ready, but our focus will be on code organization and to discuss the common problems while progressing on this journey.\n\n## Feedback\n\nPlease share feedback by opening an issue or pull request at https://github.com/ignatandrei/console_to_saas/\n\n## Authors\n\n**Andrei Ignat** - http://msprogrammer.serviciipeweb.ro/\n\nHas more then 20 year programming experience. He started from VB3, passed via plain old ASP and a former C# Microsoft Most Valuable Professional (MVP).\nHe is also a consultant, author, speaker, www.adces.ro community leader and http://www.asp.net/ moderator.\n\nYou can ask him any .NET related question – he will be glad to answer – if he knows the answer. If not, he will learn.\n\n**Daniel Tila** - is a systems engineer master degree in system architecture and 10+ years of experience. He worked on airplane engine software, train security doors to bank payment and printing systems. \n\nHe has more than 10 years of experinece in the .NET programming environment. He designed from application that are facilitating communication between bank, printing services to airplaine engines. How, he is a certified trainer in UiPath and co-founder at Automation Pill, a company that helps organization to optimize their costs by automating repetitive, mundane tasks. \n\n\n## Contributors ✨\n\nThanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):\n\n\u003c!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section --\u003e\n\u003c!-- prettier-ignore-start --\u003e\n\u003c!-- markdownlint-disable --\u003e\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"http://www.apexcode.ro\"\u003e\u003cimg src=\"https://avatars3.githubusercontent.com/u/15055082?v=4\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eDaniel Costea\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"#content-dcostea\" title=\"Content\"\u003e🖋\u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n\u003c!-- markdownlint-enable --\u003e\n\u003c!-- prettier-ignore-end --\u003e\n\u003c!-- ALL-CONTRIBUTORS-LIST:END --\u003e\n\nThis project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fignatandrei%2Fconsole_to_saas","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fignatandrei%2Fconsole_to_saas","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fignatandrei%2Fconsole_to_saas/lists"}