Build a corporate website using contentstack-express framework

contentstack-express is a Node.js-based web application framework based on Express. This example corporate website is built using this framework. It uses Contentstack to store and deliver the content of the website.


Warning: contentstack-express framework has been deprecated. We will soon stop supporting this framework. Instead, we recommend using DataSync, which is faster and more flexible than the web framework.

Here’s a quick guide on how to create a corporate website using the contentstack-express framework of Contentstack. 


Contentstack Account

Note: For this tutorial, we have assumed that you are familiar with Contentstack and Express. If not, then please refer to the docs (Contentstack docs and Express docs) for more details.

In this tutorial, we will first go through the steps involved in configuring Contentstack and then look at the steps required to customize and use the presentation layer.

  1. Create a stack

    Log in to your Contentstack account, and create a new stack. This stack will hold all the data, specific to your website. Learn more on how to create a stack.

  2. Add a publishing environment

    To add an environment in Contentstack, navigate to ‘Settings' -> 'Environment', and click on the '+ New Environment’ tab. Provide a suitable name for your environment, say ‘staging’. Specify the base URL (e.g., ‘http://YourDomainName.com’), and select the language (e.g., English - United States). Then, click on 'Save'. Read more about environments.

  3. Import content types

    A content type is like the structure or blueprint of a page or a section of your web or mobile property. Read more about Content Types.

    For this website, all these content types are required: Header, Footer, Home, About, Services, Faq and Contact. For quick integration, we have already created these content types. You simply need to import them to your stack. (You can also create your own content types. Learn how to do this).

    To import the content types, first save the zipped folder of the JSON files given below on your local machine. Extract the files from the folder. Then, go to your stack in Contentstack. The next screen prompts you to either create a new content type or import one into your stack. Click the ‘import’ link, and select the JSON file saved on your machine.

    Note: Import JSON files in the sequence: “header.json”, “footer.json”, “home.json”, “about.json”, “services.json”, “faq.json” and “contact.json”.

    Here’s a brief overview of all the content types required for this project.

    • Header: The “Header” content type enables you to add content for the header section of your website.
    • Footer: The “Footer” content type enables you to add content for the footer section of your website.
    • Home: The “Home” content type enables you to add content for the home page of your website. It includes the main banner, “Services” Section, “Contact” Section and the “About Us” section tab on Banner.

    Download All Content Types

    Now that all the content types are ready, let’s add some content for your website.

  4. Adding content

    Create and publish entries for the ‘Header’ and ‘Footer’ content types

    Using the ‘Header’ content type, add the name, logo, menu, and other details for your website. Similarly, add footer content using the ‘Footer’ content type. Learn how to create and publish entries.

    Create and publish entry for the other content types

    Add an entry for all the added content types. Save and publish these entries.  Learn how to create and publish entries.

    With this step, you have created sample data for your website.

  5. Build and configure website

    To get your app up and running quickly, we have already created a sample website (using contentstack-express) for this project. You simply need to download it and change the configuration.

    Download code

    Note: The website uses the Content Delivery API (which has in-built CDN support) to deliver content to the website. Read more about our CDN-enabled content delivery system.

    Once you have downloaded the project, add your Contentstack API Key and Access Token to the project. (Learn how to find your Stack's API Key and Access Token)

    The config/all.js file would look something like this:

    // Contentstack Config
    contentstack: {
      api_key: "API_Key",
      access_token: "Access_Token"

    Fire up your terminal (command prompt or similar on Windows), point it to your project location and run the following:

    npm install
    npm start

    Please publish all the entries after starting the app on “development” environment which will place all the data in “_content” folder, which is inside your project directory.

    Note: This will work on node version 4.0.6 or above.

    Now open http://localhost:4000 to see your website. This will initiate your project.

  6. Go live

    You can make the website live by deploying it on any cloud-hosting service. For this example site, we have used Backend as the hosting service.

More resources

Was this article helpful?