Strapi Slack



  1. Strapi Slack Channel
  2. Strapi Slack

Here are our findings: ● in 9 months the number of Slack. Open-source JavaScript database inspired by Apache CouchDB community ● Strapi (497). Product Board - Strapi roadmap and feature requests. Developer Docs - Official Developer Documentation. User Docs - Official User Documentation. Tutorials - Official and Community Tutorials (Submit new tutorials). RFC - Official Request for Comments. Meetups - Meetups and Webinars. Forum - Official Strapi forum. Slack - Official Strapi Slack. Squidex vs Strapi. An objective price and feature comparison. Unlimited content items and locales. (Community Slack). I believe you can point your dev-strapi to use the production-strapi’s database anytime. I haven’t tested will the datastructures, if they are modified in dev-strapi (using sqllite), update in production database, when redeployd. I believe they will and if that is the case there is no need to use the same database. – grohjy Aug 10 '20 at. And 'the Strapi Guru' as I was everywhere be that Medium articles, Youtube comments, Slack, GitHub, Stack Overflow, reddit, ect. If there was a spot on the internet talking about Strapi, most likely my name shows up in some capacity.

WARNING

The Alpha version of Strapi is no longer supported, please use the Beta version. You can find the relevant documentation here.

This Tutorial is written for developers who prefer a more detailed step-by-step introduction. (A less detailed introduction can be found at Quick Start Guide.)

By following this tutorial, we will get Strapi installed globally onto your system, and then create your first Strapi project.

NOTE

You need to have Node.js and npm installed on your system prior to following these steps. If you do not have Node.js and npm installed or are not sure, please visit our Installation Requirements.

Slack

Table of contents:

# 1. Install Strapi globally

Strapi is now installed globally on your computer. Type strapi -h in your command line to access available Strapi commands.

# 2. Create a new project

Navigate to your parent Projects/ directory in your command line. Enter the following command to create a Strapi Quick Start project.

Path: ~/Desktop/Projects/ $

The command will automatically create a Strapi project cms folder within your parent Projects/ directory.

NOTE

When you create a new Quick Start project in Strapi, you will download all the node modules, the Strapi files necessary and the Strapi plugin files. THIS STEP CAN TAKE SEVERAL MINUTES DEPENDING ON YOUR INTERNET CONNECTION SPEED. Please wait for the process to complete before cancelling or trying to continue.

NOTE

You can replace the /cms project name with any name you want.

You will see something like this:

This will open your default browser to the Welcome page for creating an admin user.

NOTE

Using the --quickstart flag will install Strapi using a SQLite database. You may leave off the flag, but will need to follow the configuration steps for a different database.

# 3. Create an admin user

The first user you create is the root user for your project. This user has all privileges and access rights. You will need to complete the following fields:

  1. Username, create a username for login access to your project, eg. paulbocuse
  2. Password, create a unique password for your project
  3. Email address, this will be used for recovery
  4. Check Receive news, this is optional but recommended
  5. Click the Ready to Start button

After your admin user is registered, you will see the Strapi admin panel:

# 4. Create a Content Type

At this point, your project is empty. You need to create a Content Type.

We can define a Content Type as a collection of entered data represented by fields. For example, a Content Type called restaurant may be intended to display information regarding restaurants. A restaurant has a name, a main image, a description, maybe even a link to the restaurant menu.

Another example, is a Content Type called menu which is made up of menu items. These have a name, description of the menu item, an image and perhaps even a list of ingredients.

Any collection of entered data that can have fields can be a Content Type. They allow you to manage a class of information in an organized manner.

We will use the Content Type Builder plugin to make the process easy to create a Content Type.

Go to the Content Type Builder plugin, located in the left menu: PLUGINS --> Content Type Builder.

We will create two content types. We will create a content type called Restaurant and one called Category.

NOTE

Content Type name is always singular. For example, restaurant not restaurants. For example, category not categories.

# The Restaurant Content Type

The Restaurant Content Type will have a String field for the restaurant name, and a Text field (with a WYSIWYG editor) for the restaurant description.

  1. Let's now add a content type.
Strapi slack

Click the '+ Add Content Type' button.

Now enter a 'Name' for your New Content Type (we will call this one restaurant), and below write a 'description'. We will write Recommended Restaurants for the description.

Then click the Save button.

  1. Now you are ready to add the content type fields. We will add a String field for the Name and a Text field for a short Restaurant description. Click on the + Add New Field button.

Next we will click on the String field.

You should be under the BASE SETTINGS tab, in the Name field, type Name. This will be the name of the restaurant.

Now, click on the ADVANCED SETTINGS tab, check Required field and Unique field. This field is required for each restaurant and is not optional. Also, we want each restaurant to have a unique name, so we check the Unique field box. And then click the Continue button.

We are now ready to add the second field, Text for the restaurant description. Click the + Add New Field button.

From here, click the Text field.

You should be under the BASE SETTINGS tab, in the Name field, type Description. This will be the description of the restaurant.

Now, click on the ADVANCED SETTINGS tab, check Display as a WYSIWYG. This field will provide a rich text editor. And then click the Continue button.

Lastly, we will save this Content Type. Click the Save button.

Wait for Strapi to restart, and then we will be able to create the CategoryContent Type.

# The Category Content Type

The Category Content Type will have a String field named category for categories assigned to restaurants, and a Relation field with a Many to Many relationship.

Let's now add this second content type. Click the + Add Content Type menu item.

Now enter a name for this new Content Type (we will call this one category), and write a Description. We will write Restaurant Categories for the description. Then click the Save button.

Now you are ready to add the content type fields. We will add a String field for the Name and a Relation Field for creating a Many to Many relation between the Category Content Type and Restaurant Content Type. Click on the + Add New Field button.

Next we will click on the String field.

You should be under the BASE SETTINGS tab, in the Name field, type Name. This will be the name of the category.

Now, click on the ADVANCED SETTINGS tab, check Required field and Unique field. This field is required for each category and is not optional. Also, we want each category to have a unique name, so we check the Unique field box. And then click the Continue button.

We are now ready to add the second field, the Relation field for the Many to Many relation setting between Categories and Restaurants. Click the + Add New Field button.

From here, click the Relation field.

This will bring you to the Add New Relation screen. We will change two elements on this page for the Relation field.

First, click on Permission (Users-Permissions) and change it to Restaurant (on the right side).

Strapi Slack Channel

The second element to change is to click the Many to Many icon (in the middle). It should now read, 'Categories has and belongs to many Restaurants'. Then click the Continue button.

Lastly, we will save this Content Type. Click the Save button.

Strapi Slack

Wait for Strapi to restart.

Verify in the left menu under CONTENT TYPES, that you see Categories, Restaurants and Users.

# Files structure

Strapi Slack

A new directory has been created in the Project/cms/ folder of your application which contains all the needed files related to your restaurant and category Content Types. Take a look at the API structure documentation for more information.

# 5. Manage and add data to Content Type

After creating the Content Types, we now need to manage and add data to the new Content Types.

We will create an entry of a restaurant called, Strapi Restaurant with a description saying, Strapi restaurant is a cosy restaurant delivering one of the very fastest and nicest dining experiences in the world, combining nods to tradition with fierce modernity, warmth with daring.

Strapi slack channel

We will then assign two Categories, Italian and Contemporary to this restaurant.

Click on Restaurants under the CONTENT TYPES menu in order to Add New Restaurant.

Next click on the + Add New Restaurant button (in the top right corner). Go ahead and type Strapi Restaurant in the Name field, and type the content (above) into the Description field. Then press the Save button (in the top right corner).

When it is saved, you will see your restaurant listed in the entries. From here you can edit it or add a new restaurant.

We have NOT added a Category to the Restaurant we created. We first have to add the actual Category items to the Categories content type.

We will next assign two Categories, Italian and Contemporary to this restaurant.

Click on Categories under the CONTENT TYPES menu on the left.

Now we will add each of the categories. Click the + Add New Category button to add the first category Italian. Type Italian into the Name field. Next, you will see Restaurants (0) to the right. Select Strapi Restaurant to add this category to the restaurant.

After selecting, Restaurants (0) to the right, will change to Restaurants (1) (see below). And then press the Save button.

You now see the Category listed. Click the + Add New Category button to add the second category Contemporary.

Now let's add Contemporary. Type Contemporary into the Name field. You will see Restaurants (0) to the right. You will see Restaurants to the right. Select Strapi Restaurant to add this category to the restaurant.

After selecting, Restaurants (0) to the right, will change to Restaurants (1) (see below). And then press the Save button.

You return to the Category Content Type page. You see both categories listed. Both have been assigned to the Restaurant we created earlier.

NOTE

If you want to add Categories directly from the Restaurants Content Type, you simply click on the Restaurant and add, edit or change EXISTING categories. Otherwise, you can create and add new Categories from the Category Content Type as we did above.

# 6. Set roles and permissions

By default, Strapi publishes all Content Types with restricted permissions. Which means you have to explicitly give permissions to each Content Type you create. We are going to give Public (any web browser with the correct link) access to the Restaurant Content Type.

Locate and click on the Roles & Permission menu item under PLUGINS on the left menu. (The Roles & Permission plugin can accomplish many tasks related to permissions. For now we will focus on the Public role.)

Next, click on the pencil edit icon to the right of the Public Role.

From here, scroll down under Permissions and find Restaurant. Click the checkbox next to find. To the right, you will see the URL route. It should say, /restaurants. Scroll back to the top, and click the Save button.

You are returned to the Roles and Permission panel.

# 7. Consume the Content Type API

The project is accessible by following the http://localhost:1337/ link. You will see the 'Welcome' screen.

What we want is the Restaurant Content Type. The route is /restaurants. In your browser, type http://localhost:1337/restaurants.

NOTE

If you have incorrectly or not set permissions to your content type, you will get a '403' permission error. See the below example.

Forbidden Access Looks like this:

CONGRATULATIONS

👏 Congratulations, you have now completed the Strapi Quick Start. Where to go next?

  • Learn how to use Strapi with React (Gatsby or Next.js) or Vue.js (Nuxt.js).
  • Read the concepts and articles to deep dive into Strapi.
  • Get help on StackOverflow.
  • Read the source code, contribute or give a star on GitHub.
  • Follow us on Twitter to get the latest news.
  • Join the vibrant and active Strapi community on Slack.