https://github.com/ndeta100/camhotelconnect
This is an experimental project to create my own business at some point =)
https://github.com/ndeta100/camhotelconnect
fiber go jwt mongodb
Last synced: 3 months ago
JSON representation
This is an experimental project to create my own business at some point =)
- Host: GitHub
- URL: https://github.com/ndeta100/camhotelconnect
- Owner: Ndeta100
- Created: 2023-11-18T21:16:56.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2024-09-05T09:34:43.000Z (almost 2 years ago)
- Last Synced: 2025-02-15T22:24:49.762Z (over 1 year ago)
- Topics: fiber, go, jwt, mongodb
- Language: Go
- Homepage:
- Size: 130 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
Awesome Lists containing this project
README
# Hotel Reservation API
## Overview
This project is a backend JSON API for a hotel reservation system. It's built using Go (Golang) and utilizes MongoDB for data persistence. The API allows for room booking at a hotel, with features to support both user and administrative functionalities.
## Features
### For Users
- **Room Booking**: Users can browse available rooms and make reservations.
- **Account Management**: Users can create accounts, log in, and manage their bookings.
### For Admins
- **Booking Management**: Admins can view and manage all room bookings.
- **Room Management**: Admins have the capabilities to add, remove, or modify room details.
- **User Management**: Admins can manage user accounts and access rights.
### Security
- **Authentication**: The API supports secure user authentication.
- **Authorization**: Different authorization levels are implemented, ensuring users have access only to appropriate functionalities.
### Additional Utilities
- **Database Seeding**: Scripts are provided to seed the database with initial data.
- **Database Migrations**: The system supports database migrations for smooth transitions and upgrades.
## Technologies Used
- **Programming Language **: [Go (Fiber)](https://gofiber.io/)
- **Database**: [MongoDB](https://www.mongodb.com/docs/drivers/go/current/)
- **Authentication**: [JWT](https://jwt.io/) / [OAuth](https://oauth.net/2/) (TBD)
## Getting Started
### Prerequisites
- [Go (latest version)](https://golang.org/dl/)
- [MongoDB](https://www.mongodb.com/try/download/community)
### Installation
1. **Clone the repository**:
```bash
git clone https://github.com/Ndeta100/CamHotelConnect.git
### project env variables
```
HTTP_LISTEN_ADDRESS=:3000
JWT_SECRET=somthing_supersecret_No_bodyknows
MONGO_DB_URL=mongodb://localhost:27017
MONGO_DB_NAME=hotel-reservation
MONGO_DB_URL_TEST=mongodb://localhost:27017
CLOUDINARY_API_KEY=
CLOUDINARY_API_SECRET=
CLOUDINARY_CLOUD_NAME=
CLOUDINARY_UPLOAD_FOLDER=
```