juicycleff / ultimate-backend

Multi tenant SaaS starter kit with cqrs graphql microservice architecture, apollo federation, event source and authentication
https://juicycleff.github.io/ultimate-backend-docs
MIT License
2.62k stars 408 forks source link

WHAT WOULD YOU LIKE TO SEE ADDED #110

Open juicycleff opened 4 years ago

juicycleff commented 4 years ago

As Ultimate Backend becomes stable, please tell me features you would like to see. The constraint is the features most not be project-specific but should be cross-sectional, for instance like messaging, etc. Can't wait to see your feedback :)

12dollar commented 4 years ago

First of all, awesome work you've done so far. I just came flying by and had to star this project. I have a few upcoming dev projects but to be honest I'm yet not sure if I'll base them on ultimate-backend. Have to do a deep dive first. So following bullet points are JM2C.

What do I need (independent from the technology stack used) in an enterprise-grade boilerplate:

  1. Easy GDPR deletion / export of data
  2. A way to easily change the DB depending on the use-case (Cassandra, Ellasandra, Scylla, Rethink, etc.)
  3. Rate limiting for APIs
  4. Outstanding security, domain verification, 2FA, JWT
  5. Awesome documentation (!!)
  6. unit, functional and integration tests, outstanding logging and error handling
  7. deploy scripts and docs (AWS, Heroku, etc.)

Maybe there's something listed here which catches your eye for new ideas.

juicycleff commented 4 years ago

@12dollar all 7 points are quite very important. While there is a gitlab deployment script that works, it lacks documentation. I will add all 7 to my todo list. Great feedback

eduscrakozabrus commented 4 years ago

Awesome project! I am need more documentation and examples.

juicycleff commented 4 years ago

@eduscrakozabrus got it

12dollar commented 4 years ago

Maybe link the Prisma feature request in here?

Furthermore, do you have a roadmap/timeline already set? How do you proceed from here / how is long term „support“ planned? What dors the future hold?

Maybe you can give us some information also concerning possible collaboration.

juicycleff commented 4 years ago

@12dollar thank you for this feedback. I have a milestone of a month to get things stable. And I am having some set of considerations in different aspcet of the application, but I am working on the documentation now.

juicycleff commented 4 years ago

I believe it will be be counter productive to keep adding futures without proper documentation

12dollar commented 4 years ago

@juicycleff absolutely agree. It's a matter of prioritization. I'd suggest anyway to have a minimalistic frontend example (react, etc.) to show how to proper use ultimate-backend next to having good documentation.

I recently had the time to jump into the code and it definitely takes time to get used to a few things.

juicycleff commented 4 years ago

I have added milestone and please create an issue for any bug you encounter. This will help me fix all possible bugs in V1

maurosergiosilva commented 4 years ago

Hi @juicycleff , starting with your start kit, I'd like some chanel like slack, to talk about with others that are just beggining like me. To ask questions like: There is a reason to not use yarn workspace? Experience from otheres deploying it on k8s etc. Its a nice start kit, congratulations.

juicycleff commented 4 years ago

@maurosergiosilva thanks for the positive feedback. I'm considering adding slack support as I get alot of direct emails. As regards yarn workspaces, NestJS workspaces forces us to use it, it has its benefits expecially at dev time

maurosergiosilva commented 4 years ago

Now i see @juicycleff , Im studing nest.js now and see how it works, thanks. Maybe something like nx.dev culd be usefull, one monorepo for nest / react / angular, shared libs etc.

juicycleff commented 4 years ago

Will be fully active in improving the package from next week. Had a series of exams and preparation for those exams, hence the inactivity

aschrijver commented 4 years ago

Thanks for this great project. I really like to see real code demonstrating how to use NestJS in practice, and this is it!

Since the project's goal is to demonstrate production-ready codebase, I would also love to see the proper (sensible) amount of tests in place, and how you'd go about it in larger NestJS projects. Currently all .spec.ts tests do nothing more than test if the object is defined. Note, the tests need not be everywhere but just in some places to demonstrate how you'd go about implementing them (e.g. unit tests for domain classes, integration tests with mocked db for command handlers, etc.).

(For my own project I intend to use jest-cucumber to add feature-based e2e and/or integration tests.)

juicycleff commented 4 years ago

@aschrijver thanks. Writing complete tests has been on todo list and with the current update to the project, I can focus on doing just that. Sorry test had to come later. I extracted this project from my personal project and so a lot of the tests where removed. Will start writing tests now. NestJS does have e2e test suit which works great. However, I will look at cucumber and see if it could make things easier

juicycleff commented 4 years ago

@maurosergiosilva I created the slack channel. https://join.slack.com/t/ultimate-backend/shared_invite/zt-gd6kuuh2-B665Di4cRLqzVqXvhbmrHg

juicycleff commented 4 years ago

I am adding couchbase and ravendb to the supported database in the repo-orm after which I will extract it from the project into a library on its own as I hope to make it target the most widely used NoSQL databases. As for SQL we have TypeORM that's more robust. There will be tiny support for Cassandra as it won't meet Cassandra best practice to create and orm from it knowing how Cassandra partition keys and performance optimization works

juicycleff commented 3 years ago

I am making the architecture a lot modular, with support for sequelize and typeorm. Auth server will be separated as a self-isolated rust server (You don't have to know rust to use :) ). Tenant resolution will be improved and there will be a new branch for Kubernetes with Kubernetes focused architecture for speed, security and scale.