https://github.com/esposter/esposter
A nice and casual place for posting random things.
https://github.com/esposter/esposter
drizzle-orm nuxt pinia postgresql trpc vue vuejs vuetify zod
Last synced: 2 months ago
JSON representation
A nice and casual place for posting random things.
- Host: GitHub
- URL: https://github.com/esposter/esposter
- Owner: Esposter
- License: apache-2.0
- Created: 2022-06-28T00:50:56.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2025-04-09T22:07:09.000Z (about 1 year ago)
- Last Synced: 2025-04-09T23:19:50.642Z (about 1 year ago)
- Topics: drizzle-orm, nuxt, pinia, postgresql, trpc, vue, vuejs, vuetify, zod
- Language: TypeScript
- Homepage: https://esposter.com
- Size: 79.4 MB
- Stars: 18
- Watchers: 2
- Forks: 2
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# [Esposter](https://esposter.com)
[![Build Status][badge-ci]][url-ci]
[![Apache-2.0 licensed][badge-license]][url-license]
### Table of Contents
- 📖 [Documentation](#documentation)
- 🏠 [Local Development](#local-development)
- ⚖️ [License](#license)
We highly recommend you take a look at the [documentation](https://esposter.com/docs/) to level up.
### Frontend
Nuxt
The Intuitive Web Framework, based on Vue. We highly recommend you take a look at the Nuxt documentation to level up.
Vue
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web. We highly recommend you take a look at the Vue documentation to level up.
Vuetify
🐉 Material Component Framework for Vue. We highly recommend you take a look at the Vuetify documentation to level up.
Pinia
🍍 Intuitive, type safe, light and flexible Store for Vue using the composition api with DevTools support. We highly recommend you take a look at the Pinia documentation to level up.
### Backend
tRPC
🧙♀️ Move Fast and Break Nothing. End-to-end typesafe APIs made easy. We highly recommend you take a look at the tRPC documentation to level up.
Zod
TypeScript-first schema validation with static type inference. We highly recommend you take a look at the Zod documentation to level up.
Drizzle ORM
TypeScript ORM that feels like writing SQL. We highly recommend you take a look at the Drizzle ORM documentation to level up.
PostgreSQL
PostgreSQL is a powerful, open source object-relational database system with over 35 years of active development that has earned it a strong reputation for reliability, feature robustness, and performance. We highly recommend you take a look at the PostgreSQL documentation to level up.
### Hosting & Domain Providers
Railway
Infrastructure, Instantly. We highly recommend you take a look at the Railway documentation to level up.
Namecheap
ICANN-accredited domain name registrar providing domain name registration and web hosting. We highly recommend you take a look at the Namecheap documentation to level up.
### VSCode Extensions
| Name | Link |
| -------------------------- | ------------------------------------------------------------------------------ |
| Vue - Official (Volar) | https://marketplace.visualstudio.com/items?itemName=Vue.volar |
| ESLint | https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint |
| Oxfmt - Code formatter | https://marketplace.visualstudio.com/items?itemName=oxc.oxc-vscode |
| GitLens — Git supercharged | https://marketplace.visualstudio.com/items?itemName=eamodio.gitlens |
| Powershell | https://marketplace.visualstudio.com/items?itemName=ms-vscode.PowerShell |
| Material Icon Theme | https://marketplace.visualstudio.com/items?itemName=PKief.material-icon-theme |
| Better Comments | https://marketplace.visualstudio.com/items?itemName=aaron-bond.better-comments |
### Git configuration to enable symlinks
The projects make use of symlinks in the git project. On Windows, this may not work as expected without extra configuration. To configure git to create symlinks on windows, you need to enable the Windows "Developer Mode" setting, and also set the `core.symlinks` git feature using either of the following commands:
```bash
# Global setting
git config --global core.symlinks true
# Local setting
git config core.symlinks true
```
After applying this setting, you may need to reset your local branch to ensure the files get rewritten as symlinks. Note that this step is destructive and you will want to push any changes you have made prior to resetting your branch.
```bash
git reset --hard
```
### Installing Dependencies
1. Install Node Modules:
```bash
pnpm i
```
2. Install [PostgreSQL + PgAdmin](https://www.postgresql.org/download).
3. Add `.env` file according to `.env.example` in `packages/app` directory.
Checkout the [deployment documentation](https://nuxt.com/docs/getting-started/deployment) for more information.
### Development Server
1. Build the packages to be used by the application:
```bash
pnpm build:packages
```
2. Change to the app directory:
```bash
cd packages/app
```
3. Start the development server on
```bash
pnpm dev
```
### Production
Build the application for production:
```bash
pnpm build
```
Locally preview production build:
```bash
pnpm preview
```
### Architecture
Esposter is a lerna + pnpm workspaces monorepo.
Packages are used directly by the nuxt application via `workspace:*`.
### Miscellaneous Tools
https://devina.io/svg-minifier
## ⚖️ License
This project is licensed under the [Apache-2.0 license](https://github.com/Esposter/Esposter/blob/main/LICENSE).
[badge-ci]: https://github.com/Esposter/Esposter/actions/workflows/CI.yaml/badge.svg?event=push&branch=main
[url-ci]: https://github.com/Esposter/Esposter/actions/workflows/CI.yaml?query=event%3Apush+branch%3Amain
[badge-license]: https://img.shields.io/github/license/Esposter/Esposter.svg?color=blue
[url-license]: https://github.com/Esposter/Esposter/blob/main/LICENSE
[url-npm]: https://www.npmjs.com/package/Esposter/v/latest