You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/getting-started/first-harper-app.md
+3-4Lines changed: 3 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -77,7 +77,7 @@ type Dog @table @export {
77
77
}
78
78
```
79
79
80
-
BydefaulttheapplicationHTTPserverportis `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
+
BydefaulttheapplicationHTTPserverportis `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:
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.
155
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).
156
155
157
156
## Key Takeaway
158
157
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.
Copy file name to clipboardExpand all lines: docs/getting-started/harper-concepts.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,12 +3,12 @@
3
3
As you begin your journey with Harper, there are a few concepts and definitions that you should understand.
4
4
5
5
## 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).
7
7
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.
9
9
10
10
## 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.
12
12
13
13
## Resources
14
14
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.
Copy file name to clipboardExpand all lines: docs/getting-started/what-is-harper.md
+6-8Lines changed: 6 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -22,17 +22,15 @@ What we realized is that networking systems together in this way is inefficient
22
22
23
23
Start by running Harper locally with [npm](https://www.npmjs.com/package/harperdb) or [Docker](https://hub.docker.com/r/harperdb/harperdb).
24
24
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.
26
26
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.
28
28
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).
30
30
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.
32
32
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/).
36
34
37
35
{% hint style="warning" %}
38
36
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,
48
46
49
47
### Data Delivery Networks
50
48
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).
Copy file name to clipboardExpand all lines: docs/technical-details/reference/globals.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -34,7 +34,7 @@ async function getRecord() {
34
34
}
35
35
```
36
36
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.
0 commit comments