Back

Development methodology

Our SDLC has a systematic approach to the development of BlueWave Labs, which includes building, deploying and maintaining our software. We use a combination of Waterfall Model and Agile Development. Combining Waterfall and Agile methodologies, (“Water-Scrum-Fall”) is beneficial in situations where there are both predictable and unpredictable elements in a project.

In this model, the following phases are Waterfall:

  1. Initial Planning Phase
  2. Integration and Testing
  3. Documentation

Those phases are Agile:

  1. Iterative Development
  2. Deployment and Maintenance
  3. Feedback Loop

Steps to build our products

There are several steps to build our products in BlueWave Labs, and here is a non-exhaustive and non-definitive list.

  1. We first examine similar products and build a design on Figma. The dashboard design doesn’t have to be final, but the design system does.
  2. Each design component is assigned to frontend developers.
  3. We build a backend database schema with the help of Prisma. We think about which tables are required, and which relations there are between tables.
  4. We build the frontend without API connectivity.
  5. We build the backend that requires queries with REST API.
  6. On the front end, we connect to those APIs. We implement caching where required (e.g like, follow) so they don’t wait for the API.
  7. When APIs are connected, we implement the API permissions on the backend. If a user shouldn’t access a specific resource, we implement the limitation associated to that resource.
  8. We deploy the backend and frontends on AWS.
  9. Domain is setup on Cloudflare and DNS definitions are done (this is mostly done only once).
  10. Another frontend and backend copy is deployed on Staging, again on AWS.
  11. Once the deployments are done, CircleCI is integrated so that every commit is moved automatically to live instance.
  12. Backups are triggered for the live server (dai̇ly or weekly, depending on the project).

Other design and development decisions are as follows:

  1. We use React.js and MUI framework together with Node.js and PostgreSQL. There are other helper libraries we use as well (eg. Prisma).
  2. Bugs and issues are reported, tracked, and resolved using GitHub’s issue tracking system.
  3. Continuous Integration (CI) is set up on CircleCI to automate code integration and testing.
  4. Deployments are scheduled every 2 weeks, aligning with the team’s sprint cycles
  5. All issues are monitored on Github Issues.
  6. Feedback from users and stakeholders is collected on Github boards and roadmaps.

This website stores cookies on your computer. Cookie Policy

BlueWave Lab Cybersecurity Development Program is open

X