Skip to content

sarkartanmay393/RoomReservation-Go

Repository files navigation


Logo

Yatra Sahayak

Contributors Forks Stargazers Issues LinkedIn

Check room availability in desired dates, make reservation and get your reservation summary in Email. Technically a Golang based Web Application with Database Interaction.
Explore Code »

View Demo · Report Bug · Request Feature

Table of Contents
  1. About The Project
  2. Getting Started
  3. Roadmap
  4. Contributing
  5. Contact

About The Project

Built With

  • Go
  • Docker
  • Bootstrap
  • PostgreSQL

Things I Learned

  1. Everything of Basic Web App.
  2. Using nosurf Middleware.
  3. Using scs Session Management.
  4. HTML, CSS, JS, Bootstrap etc.
  5. Server side validation using Golang.
  6. Writing Test Functions in Golang.
  7. Interacting with Database using Go.
  8. DB Migration using Soda CLI.
  9. Setting up Mail server using Go.
  10. Sending mail as per user's requirement.

Packages I Used

  1. "net/http"
  2. "path/filepath"
  3. "text/template"
  4. "bytes"
  5. "github.com/go-chi/chi"
  6. "github.com/justinas/nosurf"
  7. "github.com/alexedwards/scs/v2"
  8. "notie" (JavaScript)
  9. "datepicker" (JavaScript)
  10. "github.com/asaskevich/govalidator"
  11. "github.com/xhit/go-simple-mail/v2"
  12. soda cli tool

Screenshots

Show
Highland Room Outlook

Hinghland Rooms

Reservation Form Page

Reservation Summary Page

Reservation Email Outlook

(back to top)

Getting Started

Running a development environment for this project will be the easiest thing in you day.

Prerequisites

Steps to run

  • Clone the repository

    git clone https://github.com/sarkartanmay393/RoomReservation-WebApp.git
  • Run the following command to start everything using Docker

    docker compose up
  • Execute web container on terminal

    docker exec -it web bash
  • Command you need to pass inside running the container

    soda migrate up

If any issue occured while running the server, just delete the roomreservation image from docker and start the compose again.

(back to top)

Roadmap

  • Web Application
  • Styling w/ Bootstrap
  • Database
  • Email Service
  • New Responsive UI
  • Real Project Transformation

See the open issues for a full list of proposed features (and known issues).

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -s -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request
  6. Wait for review

Contact

Your Name - Tanmay Sarkar @sarkartanmay393 - hello@tanmaysarkar.tech

Project Link: https://github.com/sarkartanmay393/RoomReservation-WebApp

Thanks for visiting my project. If you like it, please give it a star. It will help me a lot. Thanks again!

(back to top)

About

Contains a room reservation web application, built using Go, Docker, Bootstrap and PostgreSQL. Need to use `http://` to access the webapp

Topics

Resources

Stars

Watchers

Forks