diff --git a/README.md b/README.md index 841bc0b..9c6d1a4 100644 --- a/README.md +++ b/README.md @@ -17,7 +17,7 @@ --- -

A simple yet somehow overdesigned guestbook system featuring a simple control panel (which is a WIP so you'll have to make do with a db manager)

+

A simple yet somehow overdesigned guestbook system featuring a simple control panel

This is phase I of the personal backscratchers project.

@@ -29,6 +29,8 @@ - [πŸ“‘ Documentation ](#-documentation-) - [🏁 Getting Started ](#-getting-started-) - [πŸ•ΈοΈ Prerequisites](#️-prerequisites) + - [Backend:](#backend) + - [Admin panel:](#admin-panel) - [πŸš€ Deployment ](#-deployment-) - [⛏️ Built Using ](#️-built-using-) - [✍️ Authors ](#️-authors-) @@ -49,6 +51,8 @@ These instructions will get you a copy of the project up and running on your loc ## πŸ•ΈοΈ Prerequisites +### Backend: + For running it locally: - .NET 8.0 - 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] > 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 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 - [.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 ## ✍️ Authors diff --git a/docs/comments.md b/docs/comments.md index 0f5e1b3..0c358bd 100644 --- a/docs/comments.md +++ b/docs/comments.md @@ -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/Result/ErrorOr` 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. +- 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. \ No newline at end of file