Create your own challenge

You have an idea you want to share, an interesting bug you are struggling with in one of your private or side projects, or an Angular trick you discovered. All of these possibilities are a good starting point to create a challenge and share the solution with others.

How do you start creating these challenges?

Boilerplate Setup

To streamline the process, I have created an Nx generator that will set up all the boilerplate for you. The easiest way to run it is by using the Nx console: go to the Nx Console > generate > @angular-challenges/cli - challenge.

Alternatively, you may utilize your IDE's Nx Console extension to generate the files.

Parameters

mandatory parameters

  • title: The title you want to give to your challenge. :::note The title must be a maximum of 25 characters. :::

  • author: Your name :::note Your name should be in kebab-case. (e.g. john-doe) ::: :::note Don't forget to update your personal information inside the file at your name. :::

  • challengeDifficulty: The difficulty you think your challenge has. There are three difficulty levels : 🟒 easy / 🟠 medium / πŸ”΄ hard

  • category: The category of your challenge. It matches one of the folders under website/src/content/challenges: angular, forms, nx, performance, rxjs, signal, testing or typescript.

optional parameters

  • challengeNumber: You can specify a challenge number if a challenge is being submitted. (If empty, the number will be the next one).
  • directory: If you want your application to be located in a specific folder inside apps.
  • addTest: If you want to add test configuration.

What is created?

  • The generator will create all the files needed to have a new working application. All these files will be created inside apps/${directory}/${name}.
  • A Markdown file with minimal setup will be created inside docs/src/content/docs/challenges/${category}.

Challenge Creation

The only thing left to do is create your challenge. πŸš€

It's your turn to act!!! πŸ’ͺ

Solution Submission

After one week or so, provide a pull request of your solution to your challenge.

Contributors:
tomalaforgegsgonzalez88jdegand