Skip to content

Commit d80f02b

Browse files
Fix getting started section (#185)
* fix up links and other minor nits in getting started section * fix one more reference to old getting-started guide
1 parent 0d4916f commit d80f02b

File tree

6 files changed

+19
-102
lines changed

6 files changed

+19
-102
lines changed

docs/getting-started.md

Lines changed: 0 additions & 80 deletions
This file was deleted.

docs/getting-started/README.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -19,23 +19,23 @@ For more advanced concepts in Harper, see our [blog](https://www.harpersystems.d
1919
<tbody>
2020
<tr>
2121
<td>
22-
<a href="getting-started/install-harper.md"><strong>Install Harper</strong></a>
22+
<a href="./getting-started/install-harper.md"><strong>Install Harper</strong></a>
2323
</td>
2424
<td>Pick the installation method that best suits your environment</td>
2525
<td></td>
26-
<td><a href="getting-started/install-harper.md">install-harper</a></td>
26+
<td><a href="./getting-started/install-harper.md">install-harper</a></td>
2727
</tr>
2828
<tr>
29-
<td><a href="getting-started/what-is-harper.md"><strong>What is Harper</strong></a></td>
29+
<td><a href="./getting-started/what-is-harper.md"><strong>What is Harper</strong></a></td>
3030
<td>Learn about Harper, how it works, and some of its usecases</td>
3131
<td></td>
32-
<td><a href="getting-started/what-is-harper.md">what-is-harper</a></td>
32+
<td><a href="./getting-started/what-is-harper.md">what-is-harper</a></td>
3333
</tr>
3434
<tr>
35-
<td><a href="getting-started/harper-concepts.md"><strong>Harper Concepts</strong></a></td>
35+
<td><a href="./getting-started/harper-concepts.md"><strong>Harper Concepts</strong></a></td>
3636
<td>Learn about Harper's fundamental concepts and how they interact</td>
3737
<td></td>
38-
<td><a href="getting-started/harper-concepts.md">harper-concepts</a></td>
38+
<td><a href="./getting-started/harper-concepts.md">harper-concepts</a></td>
3939
</tr>
4040
</tbody>
4141
</table>

docs/getting-started/first-harper-app.md

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ type Dog @table @export {
7777
}
7878
```
7979

80-
By default the application HTTP server port is `9926` (this can be [configured here](../deployments/configuration.md#http)), so the local URL would be http://localhost:9926/Dog/ with a full REST API. We can PUT or POST data into this table using this new path, and then GET or DELETE from it as well (you can even view data directly from the browser). If you have not added any records yet, we could use a PUT or POST to add a record. PUT is appropriate if you know the id, and POST can be used to assign an id:
80+
By default the application HTTP server port is `9926` (this can be [configured here](../deployments/configuration.md#http)), so the local URL would be `http://localhost:9926/Dog/` with a full REST API. We can PUT or POST data into this table using this new path, and then GET or DELETE from it as well (you can even view data directly from the browser). If you have not added any records yet, we could use a PUT or POST to add a record. PUT is appropriate if you know the id, and POST can be used to assign an id:
8181

8282
```json
8383
POST /Dog/
@@ -149,10 +149,9 @@ http://localhost:9926/Dog/?breed=Labrador
149149
http://localhost:9926/Dog/?breed=Husky&name=Balto&select(id,name,breed)
150150
```
151151
152-
Congratulations, you now have created a secure database application backend with a table, a well-defined structure, access controls, and a functional REST endpoint with query capabilities! See the [REST documentation for more information on HTTP access](../developers/rest.md) and see the [Schema reference](defining-schemas.md) for more options for defining schemas.
153-
154-
> Additionally, you may now use GraphQL (over HTTP) to create queries. See the documentation for that new feature [here](../../technical-details/reference/graphql.md).
152+
Congratulations, you now have created a secure database application backend with a table, a well-defined structure, access controls, and a functional REST endpoint with query capabilities! See the [REST documentation for more information on HTTP access](../developers/rest.md) and see the [Schema reference](../developers/applications/defining-schemas.md) for more options for defining schemas.
155153
154+
> Additionally, you may now use GraphQL (over HTTP) to create queries. See the documentation for that new feature [here](../technical-details/reference/graphql.md).
156155
157156
## Key Takeaway
158157
Harper's schema-driven approach means you can build production-ready APIs in minutes, not hours. Start with pure schema definitions to get 90% of your functionality, then add custom code only where needed. This gives you the best of both worlds: rapid development with the flexibility to customize when required.

docs/getting-started/harper-concepts.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,12 @@
33
As you begin your journey with Harper, there are a few concepts and definitions that you should understand.
44

55
## Components
6-
Harper components are a core Harper concept defined as flexible JavaScript based extensions of the highly extensible core Harper platform. They are executed by Harper directly and have complete access to the Harper [Global APIs](https://docs.harperdb.io/docs/technical-details/reference/globals) (such as Resource, databases, and tables).
6+
Harper components are a core Harper concept defined as flexible JavaScript based extensions of the highly extensible core Harper platform. They are executed by Harper directly and have complete access to the Harper [Global APIs](../technical-details/reference/globals.md) (such as Resource, databases, and tables).
77

8-
A key aspect to components are their extensibility; components can be built on other components. For example, a [Harper Application](https://docs.harperdb.io/docs/developers/applications) is a component that uses many other components. The [application template](https://github.com/HarperDB/application-template) demonstrates many of Harper's built-in components such as [rest](https://docs.harperdb.io/docs/developers/components/built-in#rest) (for automatic REST endpoint generation), [graphqlSchema](https://docs.harperdb.io/docs/developers/components/built-in#graphqlschema) (for table schema definitions), and many more.
8+
A key aspect to components are their extensibility; components can be built on other components. For example, a [Harper Application](../developers/applications/README.md) is a component that uses many other components. The [application template](https://github.com/HarperDB/application-template) demonstrates many of Harper's built-in components such as [rest](../developers/components/built-in#rest) (for automatic REST endpoint generation), [graphqlSchema](../developers/components/built-in#graphqlschema) (for table schema definitions), and many more.
99

1010
## Applications
11-
Applications are a subset of components that cannot be used directly and must depend on other extensions. Examples include defining schemas (using [graphqlSchema](https://docs.harperdb.io/docs/developers/components/built-in#graphqlschema) built-in extension), defining custom resources (using [jsResource](https://docs.harperdb.io/docs/developers/components/built-in#jsresource) built-in extension), hosting static files (using [static](https://docs.harperdb.io/docs/developers/components/built-in#static) built-in extension), enabling REST querying of resources (using [rest](https://docs.harperdb.io/docs/developers/components/built-in#rest) built-in extension), and running [Next.js](https://github.com/HarperDB/nextjs), [Astro](https://github.com/HarperDB/astro), or [Apollo](https://github.com/HarperDB/apollo) applications through their respective extensions.
11+
Applications are a subset of components that cannot be used directly and must depend on other extensions. Examples include defining schemas (using [graphqlSchema](../developers/components/built-in#graphqlschema) built-in extension), defining custom resources (using [jsResource](../developers/components/built-in#jsresource) built-in extension), hosting static files (using [static](../developers/components/built-in#static) built-in extension), enabling REST querying of resources (using [rest](../developers/components/built-in#rest) built-in extension), and running [Next.js](https://github.com/HarperDB/nextjs), [Astro](https://github.com/HarperDB/astro), or [Apollo](https://github.com/HarperDB/apollo) applications through their respective extensions.
1212

1313
## Resources
1414
Resources in Harper encompass databases, tables, and schemas that store and structure data within the system. The concept is central to Harper's data management capabilities, with custom resources being enabled by the built-in jsResource extension. Resources represent the data layer of the Harper ecosystem and provide the foundation for data operations across applications built with the platform.

docs/getting-started/what-is-harper.md

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -22,17 +22,15 @@ What we realized is that networking systems together in this way is inefficient
2222

2323
Start by running Harper locally with [npm](https://www.npmjs.com/package/harperdb) or [Docker](https://hub.docker.com/r/harperdb/harperdb).
2424

25-
Since technology tends to be built around the storage, processing, and transfer of data, start by [defining your schema](developers/applications/#creating-our-first-table) with the `schema.graphql` file in the root of the application directory.
25+
Since technology tends to be built around the storage, processing, and transfer of data, start by [defining your schema](../developers/applications/#creating-our-first-table) with the `schema.graphql` file in the root of the application directory.
2626

27-
If you would like to [query](developers/applications/#adding-an-endpoint) this data, add the `@export` directive to our data schema and test out the [REST](developers/rest.md), [MQTT](developers/real-time.md#mqtt), or [WebSocket](developers/real-time.md#websockets) endpoints.
27+
If you would like to [query](../developers/applications/#adding-an-endpoint) this data, add the `@export` directive to our data schema and test out the [REST](../developers/rest.md), [MQTT](../developers/real-time.md#mqtt), or [WebSocket](../developers/real-time.md#websockets) endpoints.
2828

29-
When you are ready for something a little more advanced, start [customizing your application](developers/applications/#custom-functionality-with-javascript).
29+
When you are ready for something a little more advanced, start [customizing your application](../developers/applications/#custom-functionality-with-javascript).
3030

31-
Finally, when it’s time to deploy, explore [replication](developers/replication/) between nodes.
31+
Finally, when it’s time to deploy, explore [replication](../developers/replication/) between nodes.
3232

33-
If you would like to jump into the most advanced capabilities, learn about [components](developers/components/).
34-
35-
For a more comprehensive deep dive, take a look at our [Getting Started Guide](getting-started.md).
33+
If you would like to jump into the most advanced capabilities, learn about [components](../developers/components/).
3634

3735
{% hint style="warning" %}
3836
Need help? Please don’t hesitate to [reach out](https://www.harpersystems.dev/contact).
@@ -48,7 +46,7 @@ For use cases like e-commerce, real estate listing, and content-oriented sites,
4846

4947
### Data Delivery Networks
5048

51-
For use cases like real-time sports updates, flight tracking, and zero-day software update distribution, Harper is rapidly gaining popularity. Harper’s ability to receive and broadcast messages while simultaneously handling application logic and data storage streamlines operations and eliminates the need for multiple separate systems. To build an understanding of our messaging system function, refer to our [real-time documentation](developers/real-time.md).
49+
For use cases like real-time sports updates, flight tracking, and zero-day software update distribution, Harper is rapidly gaining popularity. Harper’s ability to receive and broadcast messages while simultaneously handling application logic and data storage streamlines operations and eliminates the need for multiple separate systems. To build an understanding of our messaging system function, refer to our [real-time documentation](../developers/real-time.md).
5250

5351
### Edge Inference Systems
5452

docs/technical-details/reference/globals.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ async function getRecord() {
3434
}
3535
```
3636

37-
It is recommended that you [define a database](../../getting-started.md) for all the tables that are required to exist in your application. This will ensure that the tables exist on the `tables` object. Also note that the property names follow a CamelCase convention for use in JavaScript and in the GraphQL Schemas, but these are translated to snake\_case for the actual table names, and converted back to CamelCase when added to the `tables` object.
37+
It is recommended that you [define a database](../../developers/applications/defining-schemas.md) for all the tables that are required to exist in your application. This will ensure that the tables exist on the `tables` object. Also note that the property names follow a CamelCase convention for use in JavaScript and in the GraphQL Schemas, but these are translated to snake\_case for the actual table names, and converted back to CamelCase when added to the `tables` object.
3838

3939
## `databases`
4040

0 commit comments

Comments
 (0)