Skip to content

Commit 01b5e4b

Browse files
committed
feat: add get-started section and some drafts
1 parent 3f54d04 commit 01b5e4b

26 files changed

+178
-1700
lines changed

app/components/Home/Hero.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@
3333
icon="i-lucide-zap"
3434
size="md"
3535
variant="outline"
36-
to="/playground"
36+
to="/docs/getting-started/installation#try-it-online"
3737
class="rounded-full px-5 py-2 h-auto text-sm"
3838
>
3939
Try Online
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
title: Getting Started
2-
icon: false
2+
icon: i-lucide-rocket
Lines changed: 77 additions & 81 deletions
Original file line numberDiff line numberDiff line change
@@ -1,85 +1,81 @@
11
---
22
title: Introduction
3-
description: Welcome to Nuxt UI documentation template.
4-
navigation:
5-
icon: i-lucide-house
3+
description: A modern, efficient, and flexible JavaScript server framework that runs anywhere with unmatched performance and complete configurability.
64
---
75

8-
This template is a ready-to-use documentation template made with [Nuxt UI](https://ui.nuxt.com) to create beautiful & responsive Nuxt applications in minutes.
9-
10-
There are already many websites based on this template:
11-
12-
::card-group
13-
:::card
14-
---
15-
icon: i-simple-icons-nuxtdotjs
16-
target: _blank
17-
title: Nuxt
18-
to: https://nuxt.com
19-
---
20-
The Nuxt website
21-
:::
22-
23-
:::card
24-
---
25-
icon: i-simple-icons-nuxtdotjs
26-
target: _blank
27-
title: Nuxt UI
28-
to: https://ui.nuxt.com
29-
---
30-
The documentation of `@nuxt/ui`
31-
:::
32-
33-
:::card
34-
---
35-
icon: i-simple-icons-nuxtdotjs
36-
target: _blank
37-
title: Nuxt Image
38-
to: https://image.nuxt.com
39-
---
40-
The documentation of `@nuxt/image`
41-
:::
42-
43-
:::card
44-
---
45-
icon: i-simple-icons-nuxtdotjs
46-
target: _blank
47-
title: Nuxt Content
48-
to: https://content.nuxt.com
49-
---
50-
The documentation of `@nuxt/content`
51-
:::
52-
53-
:::card
54-
---
55-
icon: i-simple-icons-nuxtdotjs
56-
target: _blank
57-
title: Nuxt Devtools
58-
to: https://devtools.nuxt.com
59-
---
60-
The documentation of `@nuxt/devtools`
61-
:::
62-
63-
:::card
64-
---
65-
icon: i-simple-icons-nuxtdotjs
66-
target: _blank
67-
title: Nuxt Hub
68-
to: https://hub.nuxt.com
69-
---
70-
The best place to manage your projects, environments and variables.
71-
:::
72-
::
73-
74-
## Key Features
75-
76-
This template includes a range of features designed to streamline documentation management:
77-
78-
- **Powered by** [**Nuxt**](https://nuxt.com): Utilizes the latest Nuxt framework for optimal performance.
79-
- **Built with** [**Nuxt UI**](https://ui.nuxt.com): Integrates a comprehensive suite of UI components.
80-
- [**MDC Syntax**](https://content.nuxt.com/usage/markdown) **via** [**Nuxt Content**](https://content.nuxt.com): Supports Markdown with component integration for dynamic content.
81-
- **Auto-generated Sidebar Navigation**: Automatically generates navigation from content structure.
82-
- **Full-Text Search**: Includes built-in search functionality for content discovery.
83-
- **Optimized Typography**: Features refined typography for enhanced readability.
84-
- **Dark Mode**: Offers dark mode support for user preference.
85-
- **Extensive Functionality**: Explore the template to fully appreciate its capabilities.
6+
## Motivation
7+
8+
Modern JavaScript applications often require complex architectures that enable the creation of scalable and maintainable systems. Existing frameworks like Express or Koa provide basic functionality but typically require additional libraries and configuration to achieve a modern application architecture.
9+
10+
[Routing-controllers](https://github.com/typestack/routing-controllers) was a step in the right direction, introducing a decorator and class-based approach, but with the evolution of the JavaScript/TypeScript ecosystem and the emergence of new standards and runtimes (Bun, Deno), there was a need to create a new solution that:
11+
12+
- Fully utilizes the capabilities of the latest versions of TypeScript and JavaScript
13+
- Offers configuration flexibility while maintaining ease of use
14+
- Provides high performance without unnecessary overhead
15+
- Is compatible with various JavaScript runtime environments
16+
- Supports both ESM and CommonJS
17+
- Ensures excellent developer experience (DX)
18+
19+
These needs were the direct inspiration for creating Vercube—a modern, efficient, and flexible framework that solves the problems of existing solutions while offering new possibilities.
20+
21+
## What is Vercube?
22+
23+
Vercube is a modern JavaScript framework based on the object-oriented programming (OOP) paradigm and TypeScript decorators, enabling the creation of server applications in an elegant and type-safe manner. The framework is built from the ground up using native Request and Response interfaces without relying on any additional HTTP frameworks, which ensures exceptional performance, low resource usage, and runtime agnosticism. Vercube seamlessly runs on different JavaScript environments (Node.js, Bun, Deno) by leveraging native interfaces common across all modern runtimes.
24+
25+
Key features of Vercube:
26+
27+
- **Declarative routing** — thanks to TypeScript decorators, you can declare API endpoints in a readable and concise way
28+
- **Dependency Injection** — built-in dependency injection system that facilitates code organization and testing
29+
- **Runtime agnostic** — works independently across all runtime environments (Node.js, Bun, Deno) using native interfaces
30+
- **Modularity** — flexible architecture that allows for creating modular applications
31+
- **Zero-config** — default configurations that allow for quick start without unnecessary setup
32+
- **Type safety** — full support for TypeScript that ensures type safety at all levels of the application
33+
- **Support for ESM and CommonJS** — compatibility with both module systems
34+
- **High performance** — optimized architecture using direct Request/Response handling for exceptional speed and minimal resource usage
35+
36+
Vercube can be seen as a modern evolution of the concepts introduced by routing-controllers, but with better implementation, support for the latest standards, and much greater flexibility.
37+
38+
## Why Vercube?
39+
40+
In the JavaScript ecosystem, there are many frameworks such as [Express](https://expressjs.com/), [Koa](https://koajs.com/), [Fastify](https://fastify.dev/), [NestJS](https://nestjs.com/), [Routing-Controllers](https://github.com/typestack/routing-controllers), or [Ts.ED](https://tsed.dev/). So why choose Vercube? Here are the main reasons:
41+
42+
### Performance without compromise
43+
44+
Vercube has been designed with performance as the absolute priority from the very beginning. Built on native Request and Response interfaces with zero middleware overhead, it delivers unmatched speed and minimal latency across all runtime environments. Unlike other feature-rich frameworks (like NestJS), Vercube maintains a minimalist internal architecture that doesn't burden applications with unnecessary overhead. At the same time, it offers advanced features that typically require additional libraries in lighter frameworks (like Express).
45+
46+
### Superior developer experience
47+
48+
Vercube focuses on excellent developer experience (DX) through:
49+
- Intuitive decorator-based API
50+
- Extensive TypeScript hints and support
51+
- Clear and understandable error messages
52+
- Consistent and predictable application structure
53+
- Minimalist configuration while maintaining complete flexibility
54+
55+
### Flexibility and scalability
56+
57+
Vercube offers various levels of abstraction that adapt to project needs:
58+
- Ability to quickly prototype with "zero-config" configuration
59+
- Support for modular architecture in larger applications
60+
- Possibility to integrate with existing libraries and middleware
61+
- Scalability from simple APIs to complex enterprise applications
62+
- Full control over the underlying request and response objects
63+
64+
### Compatibility with modern standards
65+
66+
Vercube supports the latest standards and technologies:
67+
- Full support for ESM (ECMAScript Modules)
68+
- Backward compatibility with CommonJS
69+
- Support for the latest TypeScript features
70+
- Native support for all modern runtime environments (Node.js, Bun, Deno)
71+
72+
### Unique features unavailable in other frameworks
73+
74+
Vercube introduces a number of unique features that distinguish it from the competition:
75+
- Advanced decorator system that simplifies typical server operations
76+
- Intelligent detection and auto-configuration system
77+
- Optimized dependency injection system tailored to TypeScript specifics
78+
- Flexible middleware system working at different application levels
79+
- Direct access to native Request/Response objects without abstractions
80+
81+
Vercube is the ideal solution for teams and developers looking for a modern, efficient, and flexible framework that offers excellent developer experience without compromising on performance or functionality.
Lines changed: 68 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,77 @@
11
---
22
title: Installation
3-
description: Get started with Nuxt UI documentation template.
4-
navigation:
5-
icon: i-lucide-download
3+
description: How to install and run Vercube.
64
---
5+
Learn more about [Vercube's features and benefits](/docs/getting-started) before starting the installation process.
76

8-
## Quick Start
7+
## Try it online
8+
If you want to explore Vercube without setting up a local project, you can use one of our online sandboxes:
99

10-
You can start a fresh new project with:
10+
::card-group
11+
::card
12+
---
13+
title: Stackblitz
14+
icon: simple-icons:stackblitz
15+
to: https://stackblitz.com/edit/vercube-starter
16+
target: _blank
17+
---
18+
Try Vercube in a live environment on Stackblitz.
19+
::
1120

12-
```bash [Terminal]
13-
npx nuxi init -t github:nuxt-ui-templates/docs
14-
```
21+
::card
22+
---
23+
title: CodeSandbox
24+
icon: simple-icons:codesandbox
25+
to: https://codesandbox.io/p/devbox/vercube-starter-97s34j
26+
target: _blank
27+
---
28+
Try Vercube in a live environment on CodeSandbox.
29+
::
30+
::
1531

16-
or create a new repository from GitHub:
32+
## Quick start
33+
Before you begin, make sure you have one of the following runtime environments installed:
34+
- [Node.js](https://nodejs.org/en) >= 22.0.0
35+
- [Bun](https://bun.sh) >= 1.2.0
36+
- [Deno](https://deno.land) >= 2.0.0
1737

18-
1. Open <https://github.com/nuxt-ui-templates/docs>
19-
2. Click on `Use this template` button
20-
3. Enter repository name and click on `Create repository from template` button
21-
4. Clone your new repository
22-
5. Install dependencies with your favorite package manager
23-
6. Start development server
38+
::alert{type="secondary" icon="lucide:info"}
39+
We recommend using the latest stable versions of these runtimes for the best experience.
40+
::
2441

25-
That's it! You can now start writing your documentation in the [`content/`](https://content.nuxt.com/usage/content-directory) directory 🚀
42+
::steps
43+
### Create a new project
44+
The easiest way to get started with Vercube is to use the official project generator:
45+
::code-group
46+
```bash [pnpm]
47+
$ pnpm create vercube@latest
48+
```
49+
```bash [npm]
50+
$ npx create-vercube@latest
51+
```
52+
```bash [bun]
53+
$ bun create vercube
54+
```
55+
::
56+
57+
### Start the development server
58+
After creating the project, navigate to the project directory and start the development server:
59+
::code-group
60+
```bash [pnpm]
61+
$ pnpm dev
62+
```
63+
```bash [npm]
64+
$ npm run dev
65+
```
66+
```bash [bun]
67+
$ bun run dev
68+
```
69+
::
70+
71+
Open your browser and navigate to `http://localhost:3000` to see your Vercube application running!
72+
73+
::tip
74+
The development server will automatically reload the page when you make changes to your code.
75+
::
76+
77+
::
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
---
2+
title: Examples
3+
description: Explore example Vercube applications to learn common patterns and best practices.
4+
---
5+
6+
Below you'll find a collection of example applications that demonstrate various features and use cases of Vercube. These examples showcase common patterns, best practices, and different ways to structure your applications. Each example comes with detailed explanations and source code that you can use as a reference for your own projects.
7+
8+
| Example | Source | Try |
9+
| ----------------- | -------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------- |
10+
| `hello-world` | [examples/base](https://github.com/vercube/vercube/tree/main/examples/base/) | `npx giget gh:vercube/vercube/examples/base vercube-base` |
11+
| `aws-lambda` | [examples/aws-lambda](https://github.com/vercube/vercube/tree/main/examples/aws-lambda/) | `npx giget gh:vercube/vercube/examples/aws-lambda vercube-aws` |
12+
| `azure-functions` | [examples/azure-functions](https://github.com/vercube/vercube/tree/main/examples/azure-functions/) | `npx giget gh:vercube/vercube/examples/azure-functions vercube-azure` |
13+
| `websockets` | [examples/websockets](https://github.com/vercube/vercube/tree/main/examples/websockets/) | `npx giget gh:vercube/vercube/examples/websockets vercube-wss` |

content/docs/1.getting-started/3.usage.md

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

0 commit comments

Comments
 (0)