Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/taskiranumut/the-snowflake
The Snowflake is a luxury hotel's reservation and container management application.
https://github.com/taskiranumut/the-snowflake
react reactquery supabase tailwindcss typescript vite
Last synced: 14 days ago
JSON representation
The Snowflake is a luxury hotel's reservation and container management application.
- Host: GitHub
- URL: https://github.com/taskiranumut/the-snowflake
- Owner: taskiranumut
- License: mit
- Created: 2024-01-08T12:18:29.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2024-04-17T19:11:25.000Z (10 months ago)
- Last Synced: 2024-11-27T15:41:06.497Z (2 months ago)
- Topics: react, reactquery, supabase, tailwindcss, typescript, vite
- Language: TypeScript
- Homepage: https://the-snowflake.netlify.app/
- Size: 1.37 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# The Snowflake
![]()
The Snowflake web application is a reservation and container management panel developed for the employees of a winter, forest and container themed luxury hotel.
👉 [PROJECT LINK](https://the-snowflake.netlify.app/login)
## Features
- **Employee-Exclusive Access:** Registration and application use are restricted to hotel employees. A personal account is created for hotel employees within the application.
- **User Profile Customization:** Profiles can be personalized by adding a photo and updating names and passwords.
- **Container Management Interface:** The application presents a table view for managing container details such as photos, names, capacities, prices, and discounts, with options to add, edit, or remove listings.
- **Booking Management:** The system displays a overview of bookings, including dates, statuses, payments, and guest information, with filters for status categorization.
- **Detailed Booking Records:** Tracks guest numbers, duration of stays, special requests, and breakfast bookings, alongside associated costs.
- **Check-In and Check-Out Management:** Allows the confirmation of payments and the management of guest arrivals and departures directly within the app.
- **Breakfast Option During Check-In:** Guests have the option to add breakfast for their entire stay at the time of check-in.
- **Guest Database:** A database stores detailed guest information such as names, emails, IDs, nationalities, and flags for identification purposes.
- **Dashboard Insights:** Offers a dashboard that summarizes critical information and statistics for the past 7, 30, or 90 days, including guest activities and financial data.
- **Sales and Stay Duration Analytics:** Features charts that depict total and additional sales, with a focus on the duration of stays as a metric.
- **Global Settings Configuration:** Provides the ability to adjust settings for breakfast pricing, the number of nights per booking, and maximum guest allowance.
- **Localization Support:** Supports Turkish and English, enhancing usability for hotel employees and guests by allowing interface navigation and interaction in their preferred language.
- **Dark Mode Availability:** Includes a dark mode setting for improved visual ergonomics in low-light conditions.## Tech Stack
- [React](https://react.dev/)
- [Typescript](https://www.typescriptlang.org/)
- [Vite](https://vitejs.dev/)
- [React Query](https://tanstack.com/query/latest)
- [React Router](https://reactrouter.com/en/main)
- [Tailwind CSS](https://tailwindcss.com/)
- [Supabase](https://supabase.com/)
- [Recharts](https://recharts.org/en-US)
- [React Icons](https://react-icons.github.io/react-icons/)## Usage of Application
- First, the application must be logged in.
- `[email protected]` and `123123123` login information can be used for the first login.
- Afterwards, if desired, a new account can be created from the Users tab. Account information is secured by [Supabase Auth](https://supabase.com/docs/guides/auth).
- All accounts view a single data set and manipulate the same data set.
- Since the application is a general admin panel, a user-specific database table is not created.
- Now, can be played with all data freely. Enjoy.## Installation and Development
To run the application in locale, a database structure must first be created in Supabase. You must create a free account (or login) on [Supabase](https://supabase.com/dashboard/sign-up) and create tables according to the [API schema](https://github.com/taskiranumut/the-snowflake/blob/main/src/services/supabase/schema.types.ts). For image storage, areas should be created for profile pictures and containers under [Supabase storage](https://supabase.com/docs/guides/storage). Environment variables must be defined in the `.env` file in the project root directory, as in the [example file](https://github.com/taskiranumut/the-snowflake/blob/main/.env.example).
RLS policy configurations must be done for tables and storages, [more information](https://supabase.com/docs/guides/auth/row-level-security).
After the database installations are completed, the npm project can be run.
```
npm install
npm run dev
npm run build
```## License
[MIT](https://choosealicense.com/licenses/mit/)