# Create a Play
This document helps you with the steps to `Create a play` in `react-play`. You will also find the details of how to submit a play for code review.
## 🖥️ Steps to Create a Play
Welcome developers! We are as excited as you are to know that you are going to create a new play. It is super easy to get started.
> **Note:** The steps below assumes that you have forked and cloned the [react-play](https://github.com/reactplay/react-play) repository. Also, you have installed the dependencies using the `npm install` or `yarn install` command. If you are new to forking, please watch this [YouTube Guide](https://www.youtube.com/watch?v=h8suY-Osn8Q) to get started.
- Run the application using
```bash
yarn start
#OR
npm run start
```
You might see a prompt like this
```bash
Need to install the following packages:
create-react-play
Ok to proceed? (y)
```
Press `y` and hit `Enter`. This will install `create-react-play` globally. For more info check [`create-react-play readme`](https://github.com/reactplay/create-react-play/blob/main/README.md)
- You should be able to access the application on http://localhost:3000
- Click on `Create` button. Note, its a `beta` feature, feel free to [log issue](https://github.com/reactplay/react-play/issues) (if any)
- The application will try to authenticate you
- If you are NOT alredy logged in with [`NHost`](https://nhost.io), you will be prompted to give permission
- Log in with your GitHub account
- Fill the information and submit.
Paramter details
| Field | Mandatory? | Description |
| --------------- | ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| Name | YES | It is a description of the play for users to understand it better. The maximum number of allowed characters is 1024. |
| Issue | YES | Every play should be mapped with an issue. Select it here. |
| Language | YES | Let the application know your choice of script. It supports both JavaScript and TypeScript. You can pick either of it. |
| Style | NO | Let the application know your choice of style. It supports both css and scss. You can pick either of it. |
| Level | YES | You will be asked to select one of the three levels, Beginner, Intermediate, or Advanced. Please select a level for the play. A level indicates the possible complexity of developing the play using React. |
| Github Username | YES | Provide your GitHub user name to mark you as the creator of the play. |
| Tags | NO | Please provide comma-separated list of tags. Example: JSX, Hooks |
| Cover Image URL | NO | A cover image is used to show your play with a thumbnail in the play list page. Please provide a link a cover image that is publicly accessible using a URL, example: https://res.cloudinary.com/reactplay/image/upload/v1649060528/demos/id-card_pdvyvz.png. Alternatively, you can have a cover.png file in the root of your play folder. If you don't have a cover image, the app will use the default cover image. |
| Blog URL | NO | If you have written an article about this play, please provide the link to your blog article page. |
| Video | NO | If you have created a video tutorial about this play, please provide the link to your YouTube video. |
- On successfull submission, you will be redirected to a page where it will prompt you with the `play_id`
- Stop your application
- Navigate to the root of the reactplay
- Run follwing command
```bash
npx create-react-play -c
```
- Start the application
```bash
yarn start
#OR
npm run start
```
- You should now see your play added to the [play list](http://localhost:3000/plays) page. You can click on the play thumbnail to see the details of the play.
- And you will notice a directory create fro your play under `./src/plays/`
- Continue developing your play. Happy conding.
## 👀 Submitting a Play for Review
After you done with coding for your `Play`, you can submit it for review. Submitting a `Play` for review is a two step process.
- Create a Pull Request on the [react-play](https://github.com/reactplay/react-play) repository with your changes.
- Dedicate some time in a week to take care of the review comments.
Once the Pull Request is approved and merged, we will notify you and add you as a `Contributor` to the [react-play](https://github.com/reactplay/react-play) project.
## ✋ Need Help?
You can reach out to us at [ReactPlay Twitter Handle | @ReactPlayIO](https://twitter.com/ReactPlayIO) with a DM. Additionally, feel free to open a [discussion](https://github.com/reactplay/react-play/discussions) or [issue](https://github.com/reactplay/react-play/issues) on the `react-play` repository.