Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/luisgabrielroldan/phoenix-vue3-boruta-oauth-example
Example of a Phoenix 1.7 + Vue 3 + OpenAPI Spec + Autogenerated API client + Boruta Oauth2
https://github.com/luisgabrielroldan/phoenix-vue3-boruta-oauth-example
elixir oauth2 phoenix-framework vue3
Last synced: 10 days ago
JSON representation
Example of a Phoenix 1.7 + Vue 3 + OpenAPI Spec + Autogenerated API client + Boruta Oauth2
- Host: GitHub
- URL: https://github.com/luisgabrielroldan/phoenix-vue3-boruta-oauth-example
- Owner: luisgabrielroldan
- Created: 2024-11-04T03:49:58.000Z (15 days ago)
- Default Branch: main
- Last Pushed: 2024-11-04T04:15:00.000Z (15 days ago)
- Last Synced: 2024-11-04T05:18:25.478Z (15 days ago)
- Topics: elixir, oauth2, phoenix-framework, vue3
- Language: Elixir
- Homepage:
- Size: 113 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Phoenix + Vue 3 example application
## Overview
This is a simple full-stack application built with Phoenix and Vue 3. The backend API is generated using OpenAPI specifications and the frontend uses the Swagger TypeScript API Generator to auto-generate TypeScript types and API client code. OAuth2 authentication is implemented via Boruta, and the frontend state management is handled using Pinia. The project is styled with Tailwind CSS.
## Stack
- [Phoenix 1.7](https://hexdocs.pm/phoenix/1.7.14/Phoenix.html)
- [Vue 3](https://vuejs.org/)
- [Pinia](https://pinia.vuejs.org/)
- [Open API Spec](https://hexdocs.pm/open_api_spex)
- [Swagger Typescript API Generator](https://www.npmjs.com/package/swagger-typescript-api)
- [Boruta (OAuth2)](https://hexdocs.pm/boruta)
- [Tailwind CSS](https://tailwindcss.com/)## Getting started
1. To start this project:
```bash
docker compose up
```2. Create the default user:
```bash
docker compose exec api mix run priv/repo/seeds.exs
```3. Visit `http://localhost:3000`
4. Login with the default user credentials: `[email protected]` / `password`
## License
This project is licensed under the MIT License.