Skip to content

Commit

Permalink
Updated README
Browse files Browse the repository at this point in the history
  • Loading branch information
BlackSound1 committed Nov 8, 2024
1 parent d748dd7 commit 6f5a392
Show file tree
Hide file tree
Showing 2 changed files with 57 additions and 0 deletions.
57 changes: 57 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,60 @@
# Go B & B

A web app for a fictional Bed and Breakfast, written in Go.

![Home Page](images/Home%20Page.png)

## Features

- Can book stays to 2 rooms for any length of time.
- Email confirmations for owner and guests.
- Admin dashboard hidden behind Auth.
- Admin can process new reservations.
- Admin can cancel new reservations.
- Admin can block off days when a room is not available.
- Admin can see all reservations.
- Admin can see new, unprocessed reservations.
- Admin can see monthly calendar of reservations.
- Log in/ out functionality.

## Tech Stack

- Go: 1.23.1
- Database: PostgreSQL with [PGX](https://github.com/jackc/pgx)
- Email: [MailHog](https://github.com/mailhog/MailHog) and [Go Simple Mail](https://github.com/xhit/go-simple-mail)
- `.env ` Management: [Go Dotenv](https://github.com/joho/godotenv)
- Form Validation: [Go Validator](https://github.com/asaskevich/govalidator)
- CSRF Prevention: [NoSurf](https://github.com/justinas/nosurf)
- HTTP Routing: [Chi Router](https://github.com/go-chi/chi)
- Session Management: [SCS](https://github.com/alexedwards/scs/)
- Database Migrations: [Pop](https://gobuffalo.io/documentation/database/pop/)/ [Soda](https://gobuffalo.io/documentation/database/soda/)
- Admin Dashboard: [Royal UI Free Bootstrap Admin Template](https://github.com/BootstrapDash/RoyalUI-Free-Bootstrap-Admin-Template)
- Frontend: Bootstrap
- Notifications: [Notie](https://github.com/jaredreich/notie)
- Alerts: [SweetAlert 2](https://sweetalert2.github.io/)
- Datepickers: [VanillaJS Datepicker](https://github.com/mymth/vanillajs-datepicker)
- Building: Make
- Cloud: Linode/ Akamai

## How to Run

1. Populate the `.env` file from the `.env.example` file and fill out the fields as approprate.
```sh
cp .env.example .env
```
2. Populate the `database.yml` file fro mthe `database.yml.example` file and fill out the fieleds as appropriate.
```sh
cp database.yml.example database.yml
```
3. Run all migrations:
```sh
soda migrate
```
4. Run the app.
1. If you have Make installed: `make run`
2. If you don't: `go run ./cmd/web` or `go run ./...`
## How to Log in as Admin
Hit the "Log In" button on top. The admin username is: "[email protected]" and the password is: "cool_dude".
These credentials can be exposed like this because the app is a proof-of-concept for portfolio purposes only.
Binary file added images/Home Page.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 6f5a392

Please sign in to comment.