Community Challenges

๐ŸŒŸย About the Skill Sprint Series

The Skill Sprint Series offers a selection of challenges that encourage you to test your knowledge and dive deeper into Xano's features. Our goal is to create an environment where you can learn and sharpen your skills and give you a platform to showcase your Xano experience. All this while ensuring an engaging and fun experience for everyone involved.

๐Ÿ…ย Earn Community Badges

From the moment you complete your first challenge, you'll start earning badges. These badges are a recognition of your commitment, achievements, and the new heights you've reached in mastering Xano. Complete all challenges in each series to earn a distinctive badge, celebrating your comprehensive understanding and success.

๐Ÿ“— Instructions

You can find instructions for participating in the Community Challenges here.

๐Ÿคทโ€โ™€๏ธย Didn't Receive Your Badge?

Reach out to Liz at [email protected]. We'll make sure your achievements are recognized and your badges are awarded as they should be.

  • Community Challenges Instructions

    Ready to dive into our Community Challenges? These challenges are a great way to learn new skills ๐Ÿ“š, challenge yourself ๐Ÿง— , and showcase your abilities in the community ๐Ÿ†. Whether you're a beginner looking to get your hands dirty or an experienced builder seeking to test your skills, these challenges are a great way to get your practice reps in ๐Ÿ’ช. Find the instructions below! ๐Ÿ‘‡ ๐Ÿ“บ Video Instructions ๐Ÿ“„ Step-by-Step Guide Install Community Challenges Snippet: https://www.xano.com/snippet/XwN5GThx You only need to install the snippet once, and you'll be able to solve any of the available challenges. Need help installing snippets? Check out our Preview and Add a Snippet Instructions Access the challenge_function Run the challenge_function with your email address associated with your community profile and the challenge_id. The challange_id can be found in the challenge graphic. After you run the function, it will provide you with both the instructions necessary to undertake the challenge and the data required to complete it. Congratulations! You've successfully begun the challenge! ๐ŸŽ‰ Build the logic to solve the challenge. This can be done within the function stack inside the challenge_function function that was included in the snippet. ๐Ÿ› ๏ธ Once you have a solution to the challenge you would like to submit, post your result as the result variable within the API provided. Execute this function to check if your answer is correct. You are allowed to submit your answer multiple times. Keep in mind that these challenges are designed to facilitate your learning, so feel free to ask for help if you have any questions. Happy learning! ๐Ÿ“š
  • Challenge #34 - Value Collector

    Objective: Extract the property values from an object and return them in an array. Define an Object: Create an object named book with the following properties: title with the value The Great Gatsby author with the value F. Scott Fitzgerald year with the value 1925 genre with the value Fiction Extract the Property Values: Use a function to extract all the property values of the book object into an array. Return this array as a variable named values_array. Submit your result contained in the variable values_array. Expected Result: Submit the variable values_array as your answer. See example below: Install the snippet to get started: https://www.xano.com/snippet/XwN5GThx
  • Challenge #33 - Key Extractor

    Objective: Extract the property names (keys) from an object and return them in an array. Define an Object: Create an object named person with the following properties: firstName with the value John lastName with the value Doe age with the value 30 occupation with the value Engineer Extract the Property Names: Use a function to extract all the property names (keys) of the person object and store them in an array. Return this array as a variable named keys_array. Submit Your Result: Submit your result contained in the variable keys_array. Expected Result: Submit the variable keys_array as your answer. See example below: Install the snippet to get started: https://www.xano.com/snippet/XwN5GThx
  • Challenge #32 - Filter Non-Empty Entries from an Array

    Objective: Create an array containing various elements, including empty values, and return a new array with only the non-empty entries. Instructions: Define the Array: Create an array variable named mixed_array and assign it the values [0, "apple", "", [], "orange", null, 23, [], "banana", 0, ""]. Filter Non-Empty Entries: Create a second array variable named filtered_array and use a filter to create an array that contains only the non-empty entries from mixed_array. Submit the array contained in the variable filtered_array. Expected Result: Submit the variable filtered_array as your answer. See example below: Install the snippet to get started: https://www.xano.com/snippet/XwN5GThx
  • Challenge #31 - Flatten a Multi-Dimensional Array

    Objective: Create a multi-dimensional array and flatten it into a single-dimensional array. Instructions: Define the Multi-Dimensional Array: Create an array variable named nested_array and assign it the values [[1, 2, 3], [4, 5], [6, 7, 8, 9]]. Flatten the Array: Create a new variable named flattened_array and use a filter to combine all the elements from the sub-arrays in nested_array into a single, flat array. Submit the array contained in the variable flattened_array. Expected Result: Submit the variable flattened_array as your answer. See example below: Install the snippet to get started: https://www.xano.com/snippet/XwN5GThx
  • Challenge #30 - Add Item to Beginning of Array

    Objective: Create an array and add a new element to the beginning of it. Instructions: Define the Array: Create an array variable named colors and assign it the initial values ['blue', 'green', 'yellow']. Add an Item: Add the color red at the beginning of the array colors. Submit the updated array contained in the variable colors. Expected Result: Submit the variable colors as your answer. See example below: Install the snippet to get started: https://www.xano.com/snippet/XwN5GThx
  • Challenge #29 - Add Item to End of Array

    Objective: Create an array and add a new element to the end of it. Instructions: Define the Array: Create an array variable named numbers and assign it the initial values [1, 2, 3]. Add an Item: Using a filter, add the number 4 to the end of the array numbers. Submit the updated array contained in the variable numbers. Expected Result: Submit the variable numbers as your answer. See example below: Install the snippet to get started: https://www.xano.com/snippet/XwN5GThx
  • Challenge #28 - Count Items in Array

    Objective: Create an array and count the number of items it contains. Instructions: Define the Array: Create an array variable named item_list and assign it the values [5, 10, 15, 20, 25]. Count the Items: Create a new variable named item_count and use a filter to calculate the number of items in item_list. Submit your result contained in the variable item_count. Expected Result: Submit the variable item_count as your answer. See example below: Install the snippet to get started: https://www.xano.com/snippet/XwN5GThx
  • Challenge #19 - Case Converter

    Objective: Convert a string to all lowercase letters. Instructions: Define the Initial Text: Create a variable named input_text and assign it the value HELLO WORLD. Convert the Text: Create a variable named lowercase_text and use a filter to convert the value of input_text to all lowercase letters. Submit your result contained in the variable lowercase_text. Expected Result: Submit the variable lowercase_text as your answer. See example below: Install the snippet to get started: https://www.xano.com/snippet/XwN5GThx
  • Text Substitution - Challenge #18

    Objective: Substitute text within a URL using a dynamic variable. Instructions: Define the Base URL: Create a variable named base_url and assign it the value https://api.example.com/users/%s/details. Create a Dynamic User Name: Create a second variable named user_name and assign it the value CakeLover. Combine the URL and User ID: Create a variable named final_url and use a filter to combine base_url and user_name so that the %s in base_url is replaced with the value of user_name. Submit your result contained in the variable final_url. Expected Result: Submit the variable final_url as your answer. See example below: Install the snippet to get started: https://www.xano.com/snippet/XwN5GThx
  • String Concatenation - Challenge #17

    Objective: Combine string variables using a filter. Instructions: Define the Variables: Create a variable named text_one and assign it the value Hello. Create a second variable named text_two and assign it the value World. Concatenate the Strings: Create a variable named concatenated_text and use a filter to combine text_one and text_two with a space as the separator. Submit your result contained in the variable concatenated_text Expected Result: Submit the variable concatenated_text as your answer. See example below: Install the snippet to get started: https://www.xano.com/snippet/XwN5GThx
  • Rounding Down a Decimal - Challenge #27

    Objective: Create a decimal variable and round it down to the nearest integer. Instructions: Define the Variable: Create a variable named decimal_value and assign it the value 9.99. Round Down: Add a filter to the variable decimal_value that rounds decimal_value down to the nearest integer. Submit your result contained in the variable decimal_value. Expected Result: Submit the variable decimal_value as your answer. See example below: Install the snippet to get started: https://www.xano.com/snippet/XwN5GThx
  • Rounding Up a Decimal - Challenge #26

    Objective: Create a decimal variable and round it up to the nearest integer. Instructions: Define the Variable: Create a variable named decimal_value and assign it the value 3.14. Round-Up: Add a filter to the decimal_value variable that rounds up the number to the nearest integer. Submit your result contained in the variable decimal_value. Expected Result: Submit the variable decimal_value as your answer. See example below: Install the snippet to get started: https://www.xano.com/snippet/XwN5GThx
  • Calculate Absolute Value - Challenge #25

    Objective: Create a decimal variable and compute its absolute value. Instructions: Define the Variable: Create a variable named decimal_value and assign it the value -12.5. Compute the Absolute Value: Apply a filter to decimal_value to calculate its absolute value, effectively transforming -12.5 into 12.5. Submit your result contained in the variable decimal_value. Expected Result: Submit the variable decimal_value as your answer. See example below: Install the snippet to get started: https://www.xano.com/snippet/XwN5GThx
  • Compute Quotient - Challenge #24

    Objective: Create two integer variables and compute their quotient. Instructions: Define the Variables: Create a variable named integer_one and assign it the value 40. Create a second variable named integer_two and assign it the value 5. Compute the Quotient: Create a new variable named div that divides integer_one by integer_two. Submit your result contained in the variable div. Expected Result: Submit the variable div as your answer. See example below: Install the snippet to get started: https://www.xano.com/snippet/XwN5GThx
  • Compute the Difference - Challenge #21

    Objective: Create two integer variables and compute their difference. Instructions: Define the Variables: Create a variable named integer_one and assign it the value 35. Create a second variable named integer_two and assign it the value 10. Compute the Difference: Create a new variable named sub that subtracts integer_two from integer_one. Submit your result contained in the variable sub. Expected Result: Submit the variable sub as your answer. See example below: Install the snippet to get started: https://www.xano.com/snippet/XwN5GThx
  • Compute Integer Sum - Challenge #20

    Objective: Create two integer variables and compute their sum. Instructions: Define the Variables: Create a variable named integer_one and assign it the value 6. Create a second variable named integer_two and assign it the value 4. Compute the Sum: Create a new variable named sum that uses a filter to add integer_one and integer_two together. Submit your result contained in the variable sum Expected Result: Submit the variable sum as your answer. See example below: Install the snippet to get started: https://www.xano.com/snippet/XwN5GThx
  • Data Types in Xano - Challenge #16

    Objective: Read the Data Types section in the Xano documentation and solve challenges #11- 16. What is the primary characteristic of the 'boolean' data type in Xano? Answer choices a. It can store any numeric value b. It can only have two possible values: true or false c. It is used for storing text strings d. It represents date and time information Expected Result: Submit your answer as a single lowercase letter corresponding to your choice, without any punctuation. For instance, if your answer is choice 'a', simply enter a. See example below: Install the snippet to get started: https://www.xano.com/snippet/XwN5GThx
  • Data Types in Xano - Challenge #15

    Objective: Read the Data Types section in the Xano documentation and solve challenges #11- 16. What is the function of the safe_array filter in Xano? Answer choices a. Formats a timestamp into a human-readable format b. Converts a value to a boolean c. Converts a value to an integer d. Ensures that an array data type is always returned Expected Result: Submit your answer as a single lowercase letter corresponding to your choice, without any punctuation. For instance, if your answer is choice 'a', simply enter a. See example below: Install the snippet to get started: https://www.xano.com/snippet/XwN5GThx
  • Data Types in Xano - Challenge #14

    Objective: Read the Data Types section in the Xano documentation and solve challenges #11- 16. Which data type in Xano is used to represent a timestamp in UNIX Epoch format? Answer choices a. timestamp b. text c. decimal d. integer Expected Result: Submit your answer as a single lowercase letter corresponding to your choice, without any punctuation. For instance, if your answer is choice 'a', simply enter a. See example below: Install the snippet to get started: https://www.xano.com/snippet/XwN5GThx
  • Data Types in Xano - Challenge #13

    Objective: Read the Data Types section in the Xano documentation and solve challenges #11- 16. How can you convert a value to an integer data type in Xano? Answer choices a. to_decimal b. to_text c. to_int d. to_bool Expected Result: Submit your answer as a single lowercase letter corresponding to your choice, without any punctuation. For instance, if your answer is choice 'a', simply enter a. See example below: Install the snippet to get started: https://www.xano.com/snippet/XwN5GThx
  • Data Types in Xano - Challenge #12

    Objective: Read the Data Types section in the Xano documentation and solve challenges #11- 16. Which data type in Xano represents a list of values or objects? Answer choices a. text b. decimal c. object d. array Expected Result: Submit your answer as a single lowercase letter corresponding to your choice, without any punctuation. For instance, if your answer is choice 'a', simply enter a. See example below: Install the snippet to get started: https://www.xano.com/snippet/XwN5GThx
  • Data Types in Xano - Challenge #11

    Objective: Read the Data Types section in the Xano documentation and solve challenges #11- 16. What is the data type of the value "Hello" in Xano? Answer choices a. array b. bool c. text d. integer Expected Result: Submit your answer as a single lowercase letter corresponding to your choice, without any punctuation. For instance, if your answer is choice 'a', simply enter a. See example below: Install the snippet to get started: https://www.xano.com/snippet/XwN5GThx
  • Spending Analysis

    Objective: Create an API endpoint that aggregates transaction data to calculate the total spending for each customer and also enriches the response with additional details, including the customer's name, email, zip code, and spending category. Ensure that the data is sorted by transaction amount in descending order and formatted as in the example in the image above. Note: Make sure to upload the CSV files provided and set up your tables as described in challenge #6. Completing challenges #7 and #8 are also required to complete this challenge. Expected Result: An array of objects formatted like the example provided in the image above, where each object displays the customer ID, transaction amount, the customer's name, email, zip code, and spending category. Install the snippet to get started: https://www.xano.com/snippet/XwN5GThx challenge_id: 9
  • Spending Category

    Objective: Enhance the customer table by adding a new field labeled โ€œspending_category.โ€ Using the aggregate data from challenge #7, categorize each user as a low, medium, or high spender based on these criteria: Low Spender: Customers spending less than $341.01 Medium Spender: Customers spending between $341.02 and $644.91 High Spender: Customers spending more than $644.91 Note: Make sure to upload the CSV files provided and set up your tables as described in challenge #6. This is essential for everything else we'll be doing. Expected Result: The customer table should be updated to include a new field labeled spending_category. Each customer must be categorized as either a low, medium, or high spender within this field based on the specified criteria. The expected result is case-sensitive. Make sure your spelling matches the example in the image above. Once you are done, make sure to submit the integer 1 as the result to mark this challenge complete. challenge_id: 8
  • Transaction Summary

    Objective: Create an API endpoint that aggregates transaction data to compute and display the total spending per customer. Ensure that the data is sorted by customer ID in ascending order and presented as a structured array of objects in the image above, each detailing the customer's ID and their total transaction amount. Note: Make sure to upload the CSV files provided and set up your tables as described in challenge #6. This is essential for everything else we'll be doing. Expected Result: An array of objects formatted like the example provided on the image above, where each object displays the customer_id and the corresponding aggregate transaction amount. Install the snippet to get started: https://www.xano.com/snippet/XwN5GThx challenge_id: 7
  • Spending Stats

    Objective: Create two database tables - one for customers and another for transactions. Begin by downloading the CSV files provided below. Proceed to upload the data from these files into their respective tables. Once uploaded, compute key spending metrics, including minimum, maximum, and average transaction values. Finally, present these metrics in an organized JSON object, mirroring the format demonstrated in the image above. Expected Result: A JSON object mirroring the structure provided in the image above. Click Here to download "customer" data. Click Here to download "transaction" data. Install the snippet to get started: https://www.xano.com/snippet/XwN5GThx challenge_id: 6
  • JSON Data Modification

    Objective: You're given a JSON object with information about employees. Your challenge is to update this data: replace "John Doe"'s salary with $65000 and "Michael Johnson"'s department with "Human Resources". Return the modified JSON object. Expected Result: A JSON object mirroring the structure provided in the snippet, with specified modifications applied. Install the snippet to get started: https://www.xano.com/snippet/XwN5GThx challenge_id: 5
  • Lowest Temperature

    Objective: Analyze a dataset containing temperature readings from cities worldwide. Your task is to return the name of the city with the lowest temperature. Expected Result: The name of the city with the lowest temperature. Install the snippet to get started: https://www.xano.com/snippet/XwN5GThx challenge_id: 4
  • Array Contains Challenge

    Objective: Write an API endpoint that sifts through a dataset of recipes, returning all recipes that list "eggs" as an ingredient. Expected Result: An array of objects, each representing a recipe that includes eggs among its ingredients. Example: [ { "recipeName": "recipe", "ingredients": ["ingredient", "ingredient"...] }, { "recipeName": "recipe", "ingredients": ["ingredient", "ingredient"...] } ] Install the snippet to get started: https://www.xano.com/snippet/XwN5GThx challenge_id: 3