Challenge Overview

Challenge Overview

This is the third learning challenge to help you get familiar with EpiServer, it will be beneficial for the upcoming real challenges.

 

Episerver is an online, commercial website creation tool written using the Microsoft technology stack, ASP.NET. Episerver is one of the most powerful website content management systems (CMS) in existence today.

 

In Episerver CMS, you use built-in C# Razor helpers to render pages and blocks on a website. You can also use the Episerver CMS in a headless mode, which means Episerver can be used as the backend server, returning pages and blocks in JSON data via RESTful APIs. You don’t have to use Episerver UI, but you can build Episerver sites, Single Page Application (SPA) sites, mobile apps, or other external applications by retrieving Episerver page and content data over HTTP. 

 

Episerver Content Delivery API is the way to implement the features. You can use Episerver Content Delivery API together with JavaScript frameworks such as React to build your SPA sites.

Requirements for this challenge

The requirement of this challenge is to expose via Episerver Content Delivery API: 

(1) Set up the development environment and install a sample site (Alloy site), if you don’t know how to do it, follow the specification of the 1st learning challenge.

(2) Enable the Content Delivery API of the Alloy Site, and ensure the Site Definition API and the API to query content of specific pages or blocks work.

 

To test and verify the API, you need to create a Postman collection to test the following endpoints

  • GET /api/episerver/v2.0/site

  • GET /api/episerver/v2.0/content

  • GET /api/episerver/v2.0/content/<referenceORguid>

  • GET /api/episerver/v2.0/content/<reference>/children

  • GET /api/episerver/v2.0/content/<reference>/ancestors

Also the friendly URL should also work, for example

  • GET /api/en/alloy-plan

  • GET /api/en/alloy-track

 

In Postman, you should get the response like below

 

GET /api/episerver/v2.0/site

 

GET /api/episerver/v2.0/content/5

 

No authentication of the API is required.

 

Note, you should use the latest version of Content Delivery API,currently it’s v2.9.0

Resources for learning

Getting started guide: https://world.episerver.com/documentation/developer-guides/CMS/getting-started/

Content Delivery API: https://world.episerver.com/documentation/developer-guides/content-delivery-api/

https://javafun.github.io/episerver-headlessjs-getting-start-part-1-setup/



Final Submission Guidelines

Submit a zip archive, including

  • The video that shows your submission meets all the requirements above. Please upload your video elsewhere (like in Youtube, Google Drive, Dropbox etc) and share the link in your submission.

  • The source code of your submission, you will need to modify the code of the created sample Alloy site.

  • The exported Postman collection and environment files.

  • A simple README that includes 

    • how to deploy and run your submission.

    • the username/password of the admin user of the Alloy site.

ELIGIBLE EVENTS:

2021 Topcoder(R) Open

REVIEW STYLE:

Final Review:

Community Review Board

Approval:

User Sign-Off

SHARE:

ID: 30144591