Skip to content

Choosing the stack

introduction

It is crucial to define the set of technologies you will use, known as the "technology stack". This choice will directly impact the functionality, scalability, and ease of development of your project. Wized offers you a solid foundation for the logic and interactivity of the frontend, but the choice of the backend, database, and other external services will depend on the specific needs of your application.

Why is it important to choose the right technology stack?

  • Functionality: Each technology has its own strengths and limitations. Choosing the right stack will allow you to implement the functionalities you need efficiently and without complications.
  • Scalability: If you expect your application to grow in the future, it’s important to choose technologies that can scale to a larger number of users and data without compromising performance.
  • Ease of development and maintenance: Some technologies are easier to learn and use than others. Choose a stack that suits your skills and technical knowledge, and that allows you to maintain and update your application over the long term.
  • Cost: The cost of different technologies can vary significantly. Consider your budget when choosing your technology stack.
  • Community and support: Opt for technologies with active communities and support resources available, making it easier for you to find help and solutions in case of problems.

The Role of Wized in your Technology Stack

Wized focuses on empowering your application's frontend, giving you tools to create dynamic interactions, custom logic, and connections to external services. However, Wized does not replace the need for a backend or database in more complex projects.

Key Components of your Technology Stack

  • Frontend:
    • Webflow: The visual tool for designing and building your app's user interface.
    • Wized: The low-code platform that adds interactivity, logic, and connections to external services to your Webflow frontend.
  • Backend (optional):
    • SaaS (Software as a Service): Platforms like Firebase, Supabase or Xano that offer a complete backend with database, authentication and other functionalities, all managed in the cloud.
    • Custom Backend: Developed by you using languages like Node.js, Python or Ruby, ideal if you need full control or have very specific requirements.
    • Automation Tools: Services like Zapier that allow you to connect different applications and automate tasks without having to program a complete backend.
  • Database:
    • Relational databases: Like PostgreSQL or MySQL, ideal for structured data and complex relationships.
    • NoSQL databases: Like MongoDB or Firebase, they offer greater flexibility and scalability to handle large volumes of unstructured data.
    • SaaS with integrated database: Platforms like Airtable or Supabase that offer an easy-to-use database accessible via API.
  • External APIs:
    • Any web service with API: Wized allows you to connect to a wide variety of external APIs to add functionality such as payments, notifications, maps, social networks and much more.

When to consider a Backend?

Although Wized is capable of handling complex logic on the frontend, a backend may be necessary or recommended in the following situations:

  • Data security and privacy: If your application handles sensitive information, such as passwords or financial data, a backend allows you to perform sensitive operations in a more secure and controlled environment on the server, away from users.
  • Scalability: If you expect your application to grow quickly and handle a large volume of users or data, a backend can help you manage the load and ensure optimal performance.
  • Data centralization: If you need multiple users to access and modify the same data in real time, a backend with a centralized database is the best option to maintain consistency and avoid conflicts.
  • Server-intensive tasks: If your application requires complex calculations, image processing, or any other resource-intensive tasks, a backend can free up the user's browser and improve overall performance.
  • Integrations with other systems: If your application needs to interact with other services or systems, such as a CRM or inventory management system, a backend can facilitate communication and data exchange.

Backend Options

If you have determined that you need a backend for your project, there are several options that easily integrate with Wized:

  • SaaS (Software as a Service): Platforms like Firebase, Supabase or Xano offer you a complete, ready-to-use backend, with a database, user authentication and other essential functionalities. They are ideal if you are looking for a fast, scalable solution without the need to manage your own infrastructure.
  • Custom Backend: If you have very specific requirements or need full control over your backend, you can develop it yourself. This option requires more advanced technical knowledge, but gives you maximum flexibility and customization.
  • Automation Tools: Services like Zapier allow you to connect different apps and automate tasks without any programming. This is a useful option for integrating simple functionalities or connecting your app with other services you use.

Considerations When Choosing a Backend

When choosing a backend, keep these key factors in mind:

  • Scalability: Can the solution grow with your application and handle an increase in the number of users and data?
  • Cost: What is the cost of the solution, including any data usage or storage fees?
  • Ease of use and integration: How easy is it to set up and integrate the solution with Wized and other services you use?
  • Community and Support: Is there an active community and support resources available to help you with issues or questions?
  • Security: What security measures does the solution offer to protect your data and that of your users?

Databases and Data Management

Databases are where you'll store and organize all of your application's vital information, from user and product data to transaction logs and configurations. Choosing the right database and designing an efficient structure is crucial to ensuring the performance, scalability, and security of your project.

Types of Databases

  • Relational databases: These are tables with rows and columns, where each row represents an element (for example, a user) and each column represents a characteristic (name, email, phone number, etc.). They are ideal if your data has a clear and defined structure, and if you need to establish relationships between them (for example, a user can have several orders associated with them).
  • NoSQL databases: These are more flexible and better suited to data that does not have a fixed structure or that changes frequently. They are excellent for projects that need to scale quickly or handle large volumes of information.

How to choose the right database for my project?

Wized allows you to connect to a wide variety of databases, each with its own strengths and features. Here are some suggestions to guide you in your decision, but remember that the final choice depends on your specific needs, budget, and level of experience .

  • If you are new to the world of databases and looking for simplicity:
    • Airtable: This is a great option to get started with. It's intuitive, visual, and easily integrates with Wized. Perfect for simple projects or storing form data.
  • If you need a complete backend and an integrated database, without writing code:
    • Xano: It offers you an all-in-one solution, with a database, backend logic and API, all without the need for programming. The perfect combination with Wized!
  • If you are looking for a powerful and scalable relational database:
    • Supabase: Based on PostgreSQL, it offers a robust and secure database, ideal for more complex projects that require relationships between data and secure transactions.
  • If you need a real-time database with advanced features:
    • Firebase: Perfect for apps that need real-time updates, like chats or multiplayer games. It also offers user authentication and file storage.

Data Structure Design

Designing your data structure is like creating the blueprint for your digital home. It defines how you will organize and store information in your database, which is crucial for your application to run efficiently, scale, and securely.

What is data structuring?

Structuring data involves organizing information into logical categories and establishing relationships between them, similar to how you organize your files into folders and subfolders on your computer. This allows you to access, modify, and query your data quickly and accurately.

Steps to design your data structure

  1. Identify tables: What types of information do you need to store in your application? For example, in an online store, you might have tables like "Products," "Users," "Orders," and "Categories."
  2. Define the properties of each table: What characteristics or attributes describe each entity? For example, the entity "Product" might have properties such as "name", "price", "description", "image", and "category".
  3. Choose the data type for each property: What type of information will you store in each property? Some common types are text, numbers, dates, booleans (true/false), and relationships to other entities.
  4. Establish relationships between entities (if applicable): If you use a relational database, define how different entities relate to each other. For example, a user may have multiple orders, and an order may contain multiple products.

Fields: Your Data Details

Fields are the columns in your tables or the properties of your documents in a NoSQL database. Each field stores a specific type of data, such as text, numbers, dates, or booleans.

Relationships: Connecting Your Data (relational databases only)

Relationships establish connections between different tables in a relational database. For example, you can create a relationship between the "Users" table and the "Orders" table to indicate which orders belong to which users.

How AI can help you

If you feel overwhelmed by data structure design, don't worry! Artificial Intelligence can be a great ally to get you started. Follow these steps:

  1. Describe your project: Provide a clear and concise description of your application and its key functionalities.
  2. List entities: Make a list of the different types of information you will need to store (users, products, orders, etc.).
  3. Ask the AI: Use a prompt like this:

Suggested prompt:
Use a prompt like this:
I'm designing the data structure for a web application in Wized that [describe your project]. The main entities are: [list the entities]. Could you suggest a basic data structure, including tables or collections, fields, and relationships (if applicable)?

  1. Review and adapt the response: The AI will provide you with a suggested structure, but remember that it is just a starting point. Review it carefully, adjust it to your specific needs, and make sure it meets the requirements of your application.

Choosing external web services

External APIs allow you to add functionality and access data from other web services, extending the capabilities of your Wized application. This gives you the ability to integrate features such as sending emails, processing payments, or obtaining real-time information, without having to develop them from scratch.

Why use external APIs?

  • Specialized Features: APIs give you access to specific features that Wized doesn't offer natively, such as sending emails, processing payments, getting weather information, interacting with social networks, and much more.
  • Save time and resources: Instead of developing these features from scratch, you can take advantage of the work of other developers and companies that offer ready-to-use APIs.
  • Enriching your app: APIs allow you to add advanced and custom features to your Wized app, creating a richer and more engaging experience for your users.

How do APIs integrate into Wized?

In Wized, you use API Requests to communicate with external services. These requests allow you to send and receive data from APIs, giving you the flexibility to integrate virtually any web service into your application.

Examples of how APIs enrich your application

  • Sending automatic emails: When a user registers on your site, you can use an email API (such as SendGrid or Mailchimp) to automatically send a welcome or confirmation email.
  • Online Payment Processing: Integrate a payment gateway like Stripe or PayPal to allow users to securely make purchases directly on your website.
  • Get real-time information: Use third-party APIs to display up-to-date data on weather, news, sports scores, or any other relevant information in your app.
  • Social Media Integration: Allows users to log in with their social media accounts or share content from your site to their profiles using the Facebook, Twitter, Instagram, etc. APIs.

How to find and choose external APIs?

There are thousands of APIs available on the Internet, each offering different functionalities and levels of service. To find the right API for your project, consider the following aspects:

  • Functionality: What specific features do you need? Email sending, payment processing, data analysis, etc.?
  • Ease of use: Does the API offer clear documentation and code examples? Is it easy to integrate with Wized?
  • Cost: Is the API free or do you have paid plans? What are the costs associated with data usage and volume?
  • Security: Does the API implement adequate security measures to protect your data and that of your users?
  • Support: Does the API provider offer technical support in case of problems or questions?
  • Community: Is there an active community of developers using the API and sharing resources and knowledge?