Imagine overview
What is Imagine?
“Everyday life is like programming, I guess. If you love something you can put beauty into it.” - Donald Knuth
At Imagine, we believe that building software should be a thing of beauty. We are building a SmartCompiler:
- that will allow you as an app developer to generate high-quality, editable boilerplate code,
- for various code domains in an app,
- in any backend or frontend framework of your choice,
- with auto-generated extensive test coverage, logging, documentation, and deep analytics,
- ALL from a simple config file that you writes in Imagine's easy, intutive syntax.
You can see how our SmartCompiler works at a high level, check out our functionality summary of our current V1 release as well as upcoming functionality, and also get an overview of our documentation.
How does our SmartCompiler work?
- First, you install our SmartCompiler on your machine using an npm package manager.
- You then create an empty Django app on your machine.
- Next, you select your app settings and express your app specifications in our
.im
config file using Imagine's simple syntax. - You then compile and run our SmartCompiler, which translates our converts our
.im
config file containing your specs into production-ready Django code. - The code generated using SmartCompiler is pre-instrumented allowing all our generated code to have 100% code coverage, logging, documentation, and deep analytics.
- Finally, we don't have any lock-ins, so the output code you generate using SmartCompiler is 100% editable by you.
Our functionality map
A high-level summary of the functionality that our current V1 supports, as well as additional functionality that we plan to release in upcoming versions in the coming weeks.
Functionality | Imagine V1 (current version) | Coming soon |
---|---|---|
framework coverage | + backend: django | + backend: node, flask + frontend: react + mobile: reactnative |
data model | + define an app's data model + many to one relationship | + many to many relationships |
storage | + databases sqlite3, mysql, postgresql | + cloud storage s3 |
API | + backend: API handling + formats: RestAPI, graphQL | + frontend: API calling + formats: fastAPI |
authentication | + backend: add permissions | |
additional modules | + tests: 100% unit and end-to-end test coverage for generated code | + authentication (with support for multiple providers e.g. Auth0, Okta, gAuth etc.) + views + actions + logging + analytics + documentation |