Setup local development
ROQ Suite ships with a kickstarter application called ROQ One which is beautiful fully functional kickstarter application that you can use as a starting point for your web application. This way you get a fully working application on the very first day of your journey. Of course using ROQ One is fully optional, so if you prefer to use another starting point, then go for it. You can still leverage ROQ’s Feature-as-a-Service system: ROQ Platform. Read more about ROQ One here: Introduction to ROQ One
In case you decide to start with ROQ One then you start with a local installation which means you clone the code and install the application → Local installation guide
Before you proceed it’s recommended to login and look around.
Connect to ROQ Platform
ROQ One is able to run on your working machine, but most of its features are not working. That’s because it is connected with ROQ Platform to make it fully functional. ROQ Platform is a headless Feature-as-a-Service system that provides multiple features out of the box → Feature overview.
ROQ Platform can be managed via ROQ’s console which you can find here: console.roq.tech
Deploy the walking skeleton
Before you start programming, we recommend to prepare your first “snapshot” environment that you can use to show case your progress. The snapshot environment represents the state of your main branch. At any point in time you should be able to deploy your web application to this environment even when there is not much to show. The very first version is “just” what ROQ One gives you out-of-the-box: you can login, chat with other users, get notified, etc. This version is what we call a walking skeleton. Over time you’ll add more and more features. To start with a functional walking skeleton and to not break it during the project is a good development practice and avoids that a project is development in parts that need to be merged at the very end.
ROQ One can be operated in any hosting environment. If you don’t want to spend time and effort on this topic, then you can use ROQ Cloud which is a managed hosting environment that perfectly fits to ROQ One. You’ll get multiple environments out of the box including a highly available and scalable production environment. Please contact us in case you want to learn more about ROQ Cloud.
Requirement engineering phase
Before you start the development process, it’s recommended to have all requirements in place. So usually you’ll need to write down all features, draw wireframes, have a list of all 3rd party providers and other integrations. Often it’s also recommended to visualize your underlying data model and all relevant processes using a drawing tool like Diagrams.net or similar.
Compare your requirements with ROQ’s out-of-the-box functionality
As soon as you have your full scope, you should match it with ROQ’s list of features. In most scenarios a big percentage of functionality is already there which saves you weeks of development time. We recommend to match your requirements with the feature list of ROQ Suite: Feature overview
Generate the backend GraphQL API first
Most of the development time will be consumed by doing frontend engineering. This is where your users are. However you still need a backend that provides an API that allows you to access the data. ROQ One ships with a backend layer that is using GraphQL as the main technology to build APIs. If you are not familiar with GraphQL then read this first: 📖 Introduction to GraphQL
Having a GraphQL API is amazing because it decouples frontend engineering from backend development. But writing all the queries and mutations can be time-consuming. For this reason ROQ provides a powerful code generator that is doing almost all the work for you and also creates a set of demo data. The result is a fully working GraphQL API that enables you to boost your project development and saves several weeks of development. The resulting application should be deployed to your cloud environment, so that the entire team can try it out and validate it.
⚠ The code generator is ready to speed-up your project, but we didn't do a public release yet. So to use it, you need to contact us, so that we can design the data-model and generate the code together.
If you followed all the steps of the previous section then you have:
a good understanding of your scope and how ROQ Platform can contribute to it
a running local development on every engineer’s laptop based on ROQ One
a deployed version of your web application - walking skeleton - in ROQ Cloud or elsewhere
a fully functional GraphQL that you generated using our code generator
Based on this you can proceed with your development! Have fun! 🚀