I have to build the backend of an MVP requirement. I dont have the UX/UI designs right now but I do know what the product is and that the requirements are. If I want to start building the product should I start from designing the database schema because I have a rough idea abt the model classes but shouldn’t that happen after the integration testing? . But since I dont have the designs ready can I still be able to use integration testing using rspec. Or should I start by using Cucumber?
Please advice me on anything that you think might help me. I am the only tech person who has to build this MVP so the success of this startup depends on me
You can start by building the functionalities you know you’ll need, so start with the controllers and go down from there.
Try to make your code as modular and adaptable as possible, so when the UI/UX comes, it will be just a matter of putting things together.
Obviously it won’t be that easy, and you’ll probably need to change some of the code, and add JS, etc… But the core of the system may be built without the knowledge of the UI.
PS: If you have experience building rails/ruby apps, you might even want to try the Clean Architecture.
And what about the designing the system or the database first? Because now it seems the MVP is itself too complicated. The deadline to get it ready is April end.
You can do that, and to some extend you’ll probably have to. I would advise against wasting too much time on coming up with a great DB schema, since it will probably change over time, as you become more knowledgeable of both the domain and the application.
I am very sceptical of any BDUF, DB schema included.
Right now I just read the product description and understood that there will be a signup page with ominauth. So started from there and then starting adding authentication. But since I dont know the UI how am I supposed to set this up without knowing which page has the signup button? or should I instead start from the controller spec?