This is a bookings and reservation web application for a bed and breakfast establishment. It is built using the Go programming language.
- In order to access the website directly, visit http://ec2-54-176-175-249.us-west-1.compute.amazonaws.com:8089
- User Authentication: Users are required to log in with a username before they can access the application.
- Make Reservation: Users can make a reservation from a specified start date to end date.
- Check Availability: Before they make a reservation, users can enter in a start to end date range to check availability.
- Admin Panel: The application provides property owners (admin) with a dashboard to manage user reservations.
- Email: The application uses a SMTP mail server called Mailhog to permit property owners to send emails to their clients.
- Logout: Users can log out from the application.
The application incorporates the following technologies:
- Go: A programming language used for building the backend server and handling business logic.
- HTML/CSS: Implement frontend webpages.
- AWS EC2: Cloud platform used to host web application.
- Docker: Containerization technology used to automate deployment of application.
To run the application locally, follow these steps:
- Clone the repository
- Navigate to the project directory
- Install Go and dependencies
- Install PostgreSQL and create a database called bookings
- Install soda
- Instructions to install: https://github.com/elsevierlabs-os/soda/blob/master/docs/installation.md
- Generate the database schema using migration files
- Run the command: "soda migrate"
- Build the project
- Run the command: "go build -o bookings cmd/web/*.go"
- Run the program
- Run the shell script called run.sh by typing in "./run.sh"
- Open your web browser
- Visit
http://localhost:8080
to access the application.
- Visit