├── text.txt ├── src ├── client │ ├── cypress.json │ ├── .gitignore │ ├── src │ │ ├── components │ │ │ ├── detailView │ │ │ │ ├── DetailView.module.css │ │ │ │ ├── detailViewAmenities │ │ │ │ │ ├── DetailViewAmenities.module.css │ │ │ │ │ └── DetailViewAmenities.jsx │ │ │ │ ├── DetailViewMeal │ │ │ │ │ ├── DetailviewMeal.module.css │ │ │ │ │ └── DetailViewMeal.jsx │ │ │ │ ├── DetailViewContent.jsx │ │ │ │ ├── DetailView.jsx │ │ │ │ ├── DetailViewYourRoom │ │ │ │ │ ├── DetailViewYourRoom.module.css │ │ │ │ │ └── DetailViewYourRoom.jsx │ │ │ │ ├── deatilViewRecomandation │ │ │ │ │ └── DetailViewRecomandation.module.css │ │ │ │ ├── detailViewCarusel │ │ │ │ │ ├── DetailViewCarusel.module.css │ │ │ │ │ └── DetailViewCarusel.jsx │ │ │ │ ├── detailViewRating │ │ │ │ │ ├── DetailViewRating.module.css │ │ │ │ │ └── DetailViewRating.jsx │ │ │ │ ├── detailViewDescription │ │ │ │ │ ├── DetailViewDescription.module.css │ │ │ │ │ └── DetailViewDescription.jsx │ │ │ │ └── priceCard │ │ │ │ │ └── PriceCard.module.css │ │ │ ├── home │ │ │ │ ├── HomeContent │ │ │ │ │ ├── HomeContent.module.css │ │ │ │ │ └── HomeContent.jsx │ │ │ │ ├── Home.jsx │ │ │ │ └── homeBanner │ │ │ │ │ └── HomeBanner.module.css │ │ │ ├── navigation │ │ │ │ ├── Navbar.module.css │ │ │ │ └── navbar.jsx │ │ │ ├── productList │ │ │ │ ├── contentSection │ │ │ │ │ ├── contentSectionHeader.module.css │ │ │ │ │ ├── contentSectionHeader.jsx │ │ │ │ │ └── ContentSection.jsx │ │ │ │ ├── sidebar │ │ │ │ │ ├── sidebarItems │ │ │ │ │ │ ├── SidebarViewMoreItmes.jsx │ │ │ │ │ │ ├── SidebarFilterItems.jsx │ │ │ │ │ │ ├── SidebarCheckinItems.jsx │ │ │ │ │ │ ├── SidebarCategoriesItems.jsx │ │ │ │ │ │ ├── SidebarCollectionItems.jsx │ │ │ │ │ │ ├── SidebarAccomodationItems.jsx │ │ │ │ │ │ └── SidebarFacilitiesItems.jsx │ │ │ │ │ ├── sidebar.module.css │ │ │ │ │ └── Sidebar.jsx │ │ │ │ └── ProductList.jsx │ │ │ ├── common │ │ │ │ ├── GithubLogin.jsx │ │ │ │ ├── FacebookLogin.jsx │ │ │ │ ├── GoogleLogin.jsx │ │ │ │ └── ErrorBoundary.jsx │ │ │ ├── helperComponent │ │ │ │ ├── toggleButton.jsx │ │ │ │ ├── toggleButton.module.css │ │ │ │ ├── Footer.module.css │ │ │ │ ├── CardSmall.module.css │ │ │ │ ├── card.module.css │ │ │ │ ├── map.jsx │ │ │ │ ├── ShowMap.jsx │ │ │ │ └── SkeltonListing.jsx │ │ │ ├── auth │ │ │ │ ├── AuthBanner.module.css │ │ │ │ ├── Form.module.css │ │ │ │ ├── AuthBannerSignUp.jsx │ │ │ │ ├── AuthBannerOtpVerify.jsx │ │ │ │ ├── AuthBannerLoginOtp.jsx │ │ │ │ ├── AuthBannerLogin.jsx │ │ │ │ ├── OtpForm.jsx │ │ │ │ └── LoginWithOTP.jsx │ │ │ ├── paymentMethod │ │ │ │ ├── PaymentMethodDetail │ │ │ │ │ └── PaymentMethodDetail.module.css │ │ │ │ ├── PaymentGateway.jsx │ │ │ │ ├── paymentMethodComformation │ │ │ │ │ ├── PaymentMethodConfromation.module.css │ │ │ │ │ └── PaymentMethodConformation.jsx │ │ │ │ ├── paymentMethodCard │ │ │ │ │ ├── PaymentMethodCard.module.css │ │ │ │ │ └── PaymentMethodCard.jsx │ │ │ │ ├── paymentMethodBooking │ │ │ │ │ └── PaymentMethodBooking.module.css │ │ │ │ └── paymentMethod.jsx │ │ │ ├── test.jsx │ │ │ └── routes │ │ │ │ └── Routes.jsx │ │ ├── App.module.css │ │ ├── App.jsx │ │ ├── redux │ │ │ ├── authentication │ │ │ │ ├── localStorage.js │ │ │ │ └── actionTypes.js │ │ │ └── store.js │ │ ├── index.css │ │ ├── index.jsx │ │ └── utils │ │ │ └── axiosInterceptor.js │ ├── public │ │ ├── robots.txt │ │ ├── favicon.ico │ │ ├── logo192.png │ │ ├── logo512.png │ │ ├── images │ │ │ ├── bed.webp │ │ │ ├── open.webp │ │ │ ├── logo_size.jpg │ │ │ ├── Header_logo.jpeg │ │ │ ├── background_img.webp │ │ │ ├── banner.svg │ │ │ └── logo.svg │ │ ├── manifest.json │ │ └── index.html │ ├── cypress │ │ ├── fixtures │ │ │ └── example.json │ │ ├── integration │ │ │ └── sampleTest.spec.js │ │ ├── plugins │ │ │ └── index.js │ │ └── support │ │ │ ├── index.js │ │ │ └── commands.js │ ├── docs │ │ ├── naming.md │ │ ├── authentication.md │ │ └── cypress.md │ ├── .eslintrc.json │ └── package.json └── server │ ├── migrations │ ├── README │ ├── script.py.mako │ ├── alembic.ini │ ├── env.py │ └── versions │ │ └── 2a4a2fbfccf8_.py │ ├── app │ ├── main │ │ ├── models │ │ │ ├── __init__.py │ │ │ ├── HotelListingModel.py │ │ │ └── AuthenticationModel.py │ │ ├── services │ │ │ ├── __init__.py │ │ │ └── listing.py │ │ ├── utils │ │ │ ├── __init__.py │ │ │ ├── db_save.py │ │ │ ├── generate_otp.py │ │ │ └── token_validate.py │ │ ├── routes │ │ │ ├── Listing.py │ │ │ ├── __init__.py │ │ │ └── Authentication.py │ │ ├── settings.py │ │ └── __init__.py │ └── __init__.py │ ├── Makefile │ ├── requirements.txt │ ├── manage.py │ └── README.md ├── project_guide └── API_GUIDE.md └── README.md /text.txt: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/client/cypress.json: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /src/client/.gitignore: -------------------------------------------------------------------------------- 1 | /node_modules 2 | /package-lock.json -------------------------------------------------------------------------------- /src/client/src/components/detailView/DetailView.module.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/server/migrations/README: -------------------------------------------------------------------------------- 1 | Generic single-database configuration. -------------------------------------------------------------------------------- /src/client/src/components/home/HomeContent/HomeContent.module.css: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /src/client/public/robots.txt: -------------------------------------------------------------------------------- 1 | # https://www.robotstxt.org/robotstxt.html 2 | User-agent: * 3 | -------------------------------------------------------------------------------- /src/client/src/App.module.css: -------------------------------------------------------------------------------- 1 | .content { 2 | font-family: Open Sans, sans-serif; 3 | } 4 | -------------------------------------------------------------------------------- /src/server/app/main/models/__init__.py: -------------------------------------------------------------------------------- 1 | """ import all the models in the folder here""" 2 | -------------------------------------------------------------------------------- /src/server/app/__init__.py: -------------------------------------------------------------------------------- 1 | """ The folder to include all the unnittests according to requirement """ 2 | -------------------------------------------------------------------------------- /src/client/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satishbonam/EYO-rooms/HEAD/src/client/public/favicon.ico -------------------------------------------------------------------------------- /src/client/public/logo192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satishbonam/EYO-rooms/HEAD/src/client/public/logo192.png -------------------------------------------------------------------------------- /src/client/public/logo512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satishbonam/EYO-rooms/HEAD/src/client/public/logo512.png -------------------------------------------------------------------------------- /src/server/app/main/services/__init__.py: -------------------------------------------------------------------------------- 1 | """ Add the services in the folder and import them based on requirement """ -------------------------------------------------------------------------------- /src/client/public/images/bed.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satishbonam/EYO-rooms/HEAD/src/client/public/images/bed.webp -------------------------------------------------------------------------------- /src/server/app/main/utils/__init__.py: -------------------------------------------------------------------------------- 1 | """ All the utility methods for the application should be added in utils folder """ -------------------------------------------------------------------------------- /src/client/public/images/open.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satishbonam/EYO-rooms/HEAD/src/client/public/images/open.webp -------------------------------------------------------------------------------- /src/client/public/images/logo_size.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satishbonam/EYO-rooms/HEAD/src/client/public/images/logo_size.jpg -------------------------------------------------------------------------------- /src/client/public/images/Header_logo.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satishbonam/EYO-rooms/HEAD/src/client/public/images/Header_logo.jpeg -------------------------------------------------------------------------------- /src/client/public/images/background_img.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satishbonam/EYO-rooms/HEAD/src/client/public/images/background_img.webp -------------------------------------------------------------------------------- /src/client/cypress/fixtures/example.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Using fixtures to represent data", 3 | "email": "hello@cypress.io", 4 | "body": "Fixtures are a great way to mock data for responses to routes" 5 | } 6 | -------------------------------------------------------------------------------- /src/client/cypress/integration/sampleTest.spec.js: -------------------------------------------------------------------------------- 1 | describe("Sample Test", () => { 2 | it('Check for "Masai Open Source"', () => { 3 | cy.visit("http://localhost:3000"); 4 | cy.contains("Masai Open Source"); 5 | }); 6 | }); 7 | -------------------------------------------------------------------------------- /src/client/docs/naming.md: -------------------------------------------------------------------------------- 1 | ## Naming conventions 2 | 3 | ### Component File and Components: 4 | 5 | - Follow PascalCase for component files and components. 6 | 7 | ```javascript 8 | ComponentName.jsx 9 | 10 | class ComponentName 11 | 12 | export default ComponentName 13 | ``` 14 | -------------------------------------------------------------------------------- /src/client/src/components/navigation/Navbar.module.css: -------------------------------------------------------------------------------- 1 | #button { 2 | padding: 18px 20px 18px 20px; 3 | margin-left: 12px; 4 | border: 1px solid transparent; 5 | position: relative; 6 | } 7 | #button:hover { 8 | border: 1px solid #d6d6d6; 9 | background: #f2f2f2; 10 | } 11 | -------------------------------------------------------------------------------- /src/client/src/App.jsx: -------------------------------------------------------------------------------- 1 | import React from "react"; 2 | import Routes from "./components/routes/Routes"; 3 | import styles from "./App.module.css"; 4 | 5 | function App() { 6 | return ( 7 |
8 | 9 |
10 | ); 11 | } 12 | 13 | export default App; 14 | -------------------------------------------------------------------------------- /src/client/src/components/productList/contentSection/contentSectionHeader.module.css: -------------------------------------------------------------------------------- 1 | #filterOption { 2 | flex-grow: 1; 3 | } 4 | #mapFilter { 5 | padding: 0 44px 0 54px; 6 | } 7 | #filterHeader { 8 | margin: 0; 9 | font-size: 20px; 10 | line-height: 32px; 11 | font-weight: 700; 12 | color: #333; 13 | } 14 | -------------------------------------------------------------------------------- /src/server/app/main/utils/db_save.py: -------------------------------------------------------------------------------- 1 | from app.main import db 2 | 3 | 4 | # to commit to database,if any error accur rollback databse to previous state 5 | def db_save(data): 6 | try: 7 | db.session.add(data) 8 | db.session.commit() 9 | return True 10 | except Exception as e: 11 | db.session.rollback() 12 | return False 13 | -------------------------------------------------------------------------------- /src/client/src/redux/authentication/localStorage.js: -------------------------------------------------------------------------------- 1 | export const loadData = (key) => { 2 | try { 3 | let data = localStorage.getItem(key); 4 | data = JSON.parse(data); 5 | return data; 6 | } catch (err) { 7 | return undefined; 8 | } 9 | }; 10 | 11 | export const saveData = (key, data) => { 12 | localStorage.setItem(key, JSON.stringify(data)); 13 | }; 14 | -------------------------------------------------------------------------------- /src/client/src/components/detailView/detailViewAmenities/DetailViewAmenities.module.css: -------------------------------------------------------------------------------- 1 | #container div { 2 | margin-top: 18px; 3 | } 4 | div span { 5 | font-size: 14px; 6 | line-height: 1.71; 7 | margin-left: 10px; 8 | } 9 | #showMore { 10 | color: #ee2e24; 11 | font-size: 16px; 12 | font-weight: 600; 13 | line-height: 1.5; 14 | cursor: pointer; 15 | } 16 | #heading { 17 | font-size: 22px; 18 | font-weight: bold; 19 | margin-bottom: 18px; 20 | line-height: 1.2; 21 | } 22 | -------------------------------------------------------------------------------- /src/client/docs/authentication.md: -------------------------------------------------------------------------------- 1 | # oAuth 2 | 3 | You can import the necessary oAuth components from `src/components/common`. Also you need to have the respective client id's in your environment variables. 4 | 5 | ## Google oAuth 6 | 7 | ```env 8 | REACT_APP_GOOGLE_CLIENT_ID=YOUR_CLIENT_ID 9 | ``` 10 | 11 | ## Github oAuth 12 | 13 | ```env 14 | REACT_APP_GITHUB_CLIENT_ID=YOUR_CLIENT_ID 15 | ``` 16 | 17 | ## Facebook oAuth 18 | 19 | ```env 20 | REACT_APP_FACEBOOK_APP_ID=YOUR_APP_ID 21 | ``` 22 | -------------------------------------------------------------------------------- /src/client/src/index.css: -------------------------------------------------------------------------------- 1 | body { 2 | margin: 0; 3 | font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", 4 | "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", 5 | sans-serif; 6 | -webkit-font-smoothing: antialiased; 7 | -moz-osx-font-smoothing: grayscale; 8 | } 9 | 10 | code { 11 | font-family: source-code-pro, Menlo, Monaco, Consolas, "Courier New", 12 | monospace; 13 | } 14 | 15 | /* Link style override */ 16 | a { 17 | text-decoration: none; 18 | color: black; 19 | } 20 | -------------------------------------------------------------------------------- /src/client/src/components/home/Home.jsx: -------------------------------------------------------------------------------- 1 | import React, { Component } from "react"; 2 | import HomeBanner from "./homeBanner/HomeBanner"; 3 | import Navbar from "../navigation/navbar"; 4 | import Footer from "../helperComponent/Footer"; 5 | import HomeContent from "./HomeContent/HomeContent"; 6 | 7 | export default class Home extends Component { 8 | render() { 9 | return ( 10 | <> 11 | 12 | 13 | 14 |