This commit is contained in:
parent
6f1cc7e2a6
commit
e36952fddd
2 changed files with 13 additions and 1 deletions
13
README.md
13
README.md
|
@ -17,7 +17,7 @@
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|
||||||
<p align="center">A simple yet somehow overdesigned guestbook system featuring a simple control panel <small>(which is a WIP so you'll have to make do with a db manager)</small></p>
|
<p align="center">A simple yet somehow overdesigned guestbook system featuring a simple control panel</p>
|
||||||
|
|
||||||
<p align="center"> This is phase I of the personal backscratchers project.</p>
|
<p align="center"> This is phase I of the personal backscratchers project.</p>
|
||||||
|
|
||||||
|
@ -29,6 +29,8 @@
|
||||||
- [📑 Documentation ](#-documentation-)
|
- [📑 Documentation ](#-documentation-)
|
||||||
- [🏁 Getting Started ](#-getting-started-)
|
- [🏁 Getting Started ](#-getting-started-)
|
||||||
- [🕸️ Prerequisites](#️-prerequisites)
|
- [🕸️ Prerequisites](#️-prerequisites)
|
||||||
|
- [Backend:](#backend)
|
||||||
|
- [Admin panel:](#admin-panel)
|
||||||
- [🚀 Deployment ](#-deployment-)
|
- [🚀 Deployment ](#-deployment-)
|
||||||
- [⛏️ Built Using ](#️-built-using-)
|
- [⛏️ Built Using ](#️-built-using-)
|
||||||
- [✍️ Authors ](#️-authors-)
|
- [✍️ Authors ](#️-authors-)
|
||||||
|
@ -49,6 +51,8 @@ These instructions will get you a copy of the project up and running on your loc
|
||||||
|
|
||||||
## 🕸️ Prerequisites
|
## 🕸️ Prerequisites
|
||||||
|
|
||||||
|
### Backend:
|
||||||
|
|
||||||
For running it locally:
|
For running it locally:
|
||||||
- .NET 8.0
|
- .NET 8.0
|
||||||
- A running instance of MongoDB
|
- A running instance of MongoDB
|
||||||
|
@ -84,6 +88,12 @@ You will be able to see in `build/docker-compose.public.yml` that the applicatio
|
||||||
> [!TIP]
|
> [!TIP]
|
||||||
> For local usage of the backend, you can use `docker-compose.local.yml` and edit the fields you need.
|
> For local usage of the backend, you can use `docker-compose.local.yml` and edit the fields you need.
|
||||||
|
|
||||||
|
### Admin panel:
|
||||||
|
|
||||||
|
The admin panel is a simple React/Vite app. For development, it should be enough to run `vite` in Guestbooky-admin's `src` folder.
|
||||||
|
|
||||||
|
In order to create a live version, adjust the **API_URL** path in `Guestbooky-admin/src/environment/constants.js`, and execute `vite build`.
|
||||||
|
|
||||||
## 🚀 Deployment <a name = "deployment"></a>
|
## 🚀 Deployment <a name = "deployment"></a>
|
||||||
|
|
||||||
Use `docker-compose.public.yml` as a basis. it should create the image for you and start running.
|
Use `docker-compose.public.yml` as a basis. it should create the image for you and start running.
|
||||||
|
@ -92,6 +102,7 @@ Use `docker-compose.public.yml` as a basis. it should create the image for you a
|
||||||
|
|
||||||
- [MongoDB](https://www.mongodb.com/) - Database
|
- [MongoDB](https://www.mongodb.com/) - Database
|
||||||
- [.NET](https://dot.net/) - Backend
|
- [.NET](https://dot.net/) - Backend
|
||||||
|
- [React](https://react.dev/)/[Vite](https://vite.dev) - Admin Panel
|
||||||
- [Cloudflare Turnstile](https://www.cloudflare.com/pt-br/products/turnstile/) - Captcha
|
- [Cloudflare Turnstile](https://www.cloudflare.com/pt-br/products/turnstile/) - Captcha
|
||||||
|
|
||||||
## ✍️ Authors <a name = "authors"></a>
|
## ✍️ Authors <a name = "authors"></a>
|
||||||
|
|
|
@ -43,3 +43,4 @@ ___
|
||||||
- There isn't much exception handling, except in the API layer. This is on purpose. Another thing that this project could really use, but is left as an exercise, is using a `Maybe<T>/Result<T>/ErrorOr<T>` type.
|
- There isn't much exception handling, except in the API layer. This is on purpose. Another thing that this project could really use, but is left as an exercise, is using a `Maybe<T>/Result<T>/ErrorOr<T>` type.
|
||||||
- Since there is so little that can go wrong with *low-stakes CRUDding*, it is a reasonable trade-off to let the API layer catch and send an internal server error.
|
- Since there is so little that can go wrong with *low-stakes CRUDding*, it is a reasonable trade-off to let the API layer catch and send an internal server error.
|
||||||
|
|
||||||
|
- By default, you need to choose between good Cookie-based authentication defaults or REST-friendly authentication via the `Authorization` header. Luckily you can support both with a few small additions - it made more sense to keep *RESTy* as the main method and stick Cookie support to its tail.
|
Loading…
Reference in a new issue