The perfect stack is comprised of three main technologies:
- EdgeDB: the database
- Imba : as the programming language with an integrated UI library
- Inertia: a glue between the UI and the server.
- http library: I used express, but I intend to move to Fastify later. You can use the one you prefer here.
These technologies together make the stack perfect in my opinion. They are:
- ✨ Expressive
- 🛠 Productive
- 🤯 Powerful
- 🏎 Fast
Included in this repo: an inertia adapter for express I forked from https://github.com/jordankaerim/inertia-node to add support for flash messages.
- Install edgedb
- Run
edgedb project init
- Run
npm install
- Run
npm start-server
If you add some tailwindcss classes, make sure you run npm run tailwind
to build the css file or run npm start
to watch on the changes
- run "npm run test:migrate" to create a test db and run migrations on it.
- run
npm run test
to run the tests in headless mode - run
npm run test:headed
to run in headful mode (open a browser)
- run
npm run codegen
- Navigate through the app and the test code will be generated in playwright inspector
- ✅ All CRM features
- Login
- Manage Organizations
- Create
- Update
- Delete (soft deletes)
- Restore
- Search and filter
- Manage Users (with file upload)
- Manage Contacts
- ✅ Polish the API of inertia adapter for Imba and publish to npm
- ✅ Add e2e tests
- Deploy to the cloud
MIT license.