# Features — reactjs-nodejs-tutorial

Evidence date: 2026-10-05. Revision: `master` `1500676` (2020-04-20).

No feature list exists apart from the upstream `README.md`. Status below is from `handler.js`, `serverless.yml`, `tests/handler.test.js`, `package.json`, `env.example`, and `git log`. No commit describes a planned feature. Planned features: **none are written down**.

## Current features

These are present as code or config that does something without a missing declaration.

| Feature | Status | Where |
|---|---|---|
| Async `hello` export | Current module export | `handler.js` |
| One-second delay before the response | Current. `time: 1` times 1000ms | `message()` in `handler.js` |
| HTTP 200 with JSON `message` | Current return value. Not bound to API Gateway in YAML | `handler.js` |
| Message text `Go Serverless v1.0! Your function executed successfully! (with a delay)` | Current | `handler.js` |
| Serverless service name `notes-app-api` | Current config | `serverless.yml`, `package.json` |
| AWS provider, runtime `nodejs12.x`, stage `prod`, region `us-east-1` | Current config | `serverless.yml` |
| Per-function packaging flag | Current config. No functions are declared to package | `package.individually: true` |
| Plugins `serverless-bundle`, `serverless-offline`, `serverless-dotenv-plugin` | Current config | `serverless.yml` |
| npm test script | Current script. Not executed in this investigation | `package.json` `"test": "serverless-bundle test"` |
| Sample env file | Current tracked sample | `env.example` |
| Ignore `.env`, `env.yml`, `node_modules`, `.serverless`, `.webpack` | Current | `.gitignore` |
| MIT licence | Current | `LICENSE`, `package.json` |

## Documented by the README, not wired in this revision

The README describes the upstream starter. These items are **Documented** there and are not completed in the YAML or the handler.

| Feature | What the README says | What `1500676` contains |
|---|---|---|
| Deployable function `hello` | `serverless invoke local --function hello`, `serverless deploy function --function hello` | No `functions` block |
| Local API Gateway | `serverless offline start` | `serverless-offline` is listed. No `http` event |
| Echo the Lambda event | Demo source sets `input: event` | `handler.js` omits `input` |
| Stage environment variables | Uncomment `environment:` and use `${env:MY_ENV_VAR}` | Plugin is listed. No `environment` block. `SAMPLE_ENV_VAR` is unused |
| ESLint | On by default via `serverless-bundle`. Disable with `custom.bundle.linting: false`. Override with `.eslintrc.json` | No `.eslintrc.json`, no `.eslintignore`, no `custom.bundle` block |
| Sourcemaps for CloudWatch | Claimed as a starter feature | No sourcemap setting in this repo. Would depend on `serverless-bundle` defaults. Not verified by a package run |
| ES module syntax in handlers | `import` / `export` | `handler.js` uses `export`. The test uses `import`. No Babel config file; the README says `serverless-bundle` supplies that |
| Webpack Lambda packages | `serverless-bundle` as an extension of `serverless-webpack` | Plugin listed. No function to package. Not built in this investigation |
| Install from GitHub | `serverless install --url https://github.com/AnomalyInnovations/serverless-nodejs-starter` | Instruction for a new project. This Bitbucket remote is not that URL |
| Hosted demo | `https://z6pv80ao4l.execute-api.us-east-1.amazonaws.com/dev/hello` | URL text only. Stage `dev` does not match YAML stage `prod` |
| v1 to v2 upgrade | Link to the GitHub release `v2.0` | No local upgrade notes |

## Partial or unfinished

| Feature | Evidence | What is missing |
|---|---|---|
| Unit test of `hello` | `tests/handler.test.js` expects status 200 and a string body | Expects run only if the handler calls the third-argument callback. `hello` does not. The returned message and the delay are not asserted |
| Notes API | npm name and Serverless service `notes-app-api` | No route, model, or store |
| React tutorial | Repository name `reactjs-nodejs-tutorial` | No React file or dependency |
| `uuid` | Production dependency locked at 7.0.3 | No import |
| `aws-sdk` | Dev dependency locked at 2.658.0 | No import in application or test code |

## Removed or replaced

Git history is a single commit. Nothing was removed inside this repository.

The README's demo function is not the same text as `handler.js` (the demo includes `input: event`). That is a difference between the committed readme and the committed handler, not a later deletion. There is no earlier revision to diff.

## Not in the product

Confirmed absent at `1500676`:

- React, JSX, and a browser bundle.
- Authentication, users, and roles.
- A database, cache, queue, cron, or file upload.
- Bitbucket Pipelines, GitHub Actions, Docker, and a Sonar config file in git.
- Request validation, CORS headers, and custom response headers.
- Use of `context` (the Lambda context argument is unused).

`sonar-project.properties` and `sonarqube_scan.bat` were on the task-creation file list and are not in git. Treat them as **Unknown**, not as features.
