bookcars-main
Science Score: 44.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (9.0%) to scientific vocabulary
Repository
Basic Info
- Host: GitHub
- Owner: PaluruSubbaNarasaiah
- License: mit
- Language: TypeScript
- Default Branch: main
- Homepage: https://bookcars-main.vercel.app
- Size: 3.55 MB
Statistics
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
- Releases: 0
Metadata Files
README.md
<<<<<<< HEAD
bookcars-main
BookCars
BookCars is a highly customizable, scalable, and cost-efficient solution for car rental businesses. Its robust feature set and open-source nature make it a sustainable choice for long-term growth in the rental industry.
BookCars integrates Stripe and PayPal payment gateways. You can choose either to use Stripe or PayPal for payments. If Stripe isn't available in your country, simply check if PayPal is supported and use it as an alternative for smooth and secure payments.
With BookCars, you can deploy your own customizable car rental marketplace at minimal cost using the Docker-based setup. The platform integrates Stripe and PayPal for secure payments and can be efficiently hosted on a 1GB RAM droplet, making it an ideal choice for single or multi-supplier operations looking for a scalable and cost-effective solution. You can deploy it for under $5/month using cloud providers like Hetzner or DigitalOcean. <!-- BookCars is free and open source. You can customize it as you want and deploy it yourself by following the documentation. If you want me to customize it and deploy it for you, contact me by email. You can find my email in my GitHub profile page. You need to be logged in to GitHub to view my email. I can deploy the platform to the cloud for you, configure your DNS, emailing, webmail and all related tasks. --> BookCars is designed to work with multiple suppliers. Suppliers can manage their car fleets and bookings from the admin dashboard. BookCars can also work with a single supplier and can be used as a car rental aggregator.
From the admin dashboard, admins can create and manage suppliers, cars, countries, locations, parking spots, customers, bookings and payments.
When new suppliers are created, they receive an email prompting them to create an account in order to access the admin dashboard and manage their car fleets and bookings.
Customers can sign up from the frontend or the mobile app, search for available cars based on pickup and drop-off points and time, choose a car and complete the checkout process.
Features
- Supplier management
- Supplier contracts
- Ready for one or multiple suppliers
- Car fleet management
- Dynamic price calculation
- Date Based Price Rates
- Price Change Rate
- Location, country, parking spots and map features
- Booking management
- Vehicle scheduler
- Payment management
- Customer management
- Multiple login options (Google, Facebook, Apple, Email)
- Multiple payment methods (Credit Card, PayPal, Google Pay, Apple Pay, Link, Pay at the counter, Pay in full, Pay deposit)
- Multiple language support (English, French, Spanish)
- Multiple currencies support
- Multiple pagination options (Classic pagination with next and previous buttons, infinite scroll)
- Multiple Payment Gateways supported (Stripe, PayPal)
- Responsive admin dashboard and frontend
- Native Mobile app for Android and iOS with single codebase
- Push notifications
- Secure against XSS, XST, CSR, MITM and DDoS
- Supported Platforms: iOS, Android, Web, Docker
Live Demo
Frontend
- URL: https://bookcars.dynv6.net:3002/
- Login: jdoe@bookcars.ma
- Password: B00kC4r5
Admin Dashboard
- URL: https://bookcars.dynv6.net:3001/
- Login: admin@bookcars.ma
- Password: B00kC4r5
Mobile App
You can install the Android app on any Android device.
Scan this code with a device
Open the Camera app and point it at this code. Then tap the notification that appears.

How to install the Mobile App on Android
On devices running Android 8.0 (API level 26) and higher, you must navigate to the Install unknown apps system settings screen to enable app installations from a particular location (i.e. the web browser you are downloading the app from).
On devices running Android 7.1.1 (API level 25) and lower, you should enable the Unknown sources system setting, found in Settings > Security on your device.
Alternative Way
You can install the Android App by downloading the APK and installing it on any Android device.
- Download APK
- Login: jdoe@bookcars.ma
- Password: B00kC4r5
Documentation
- Overview
- Why Use BookCars
- Architecture
- Installing (Self-hosted)
- Installing (Docker)
- Payment Gateways
- Setup Stripe
- Build Mobile App
- Demo Database
- Run from Source
- Run Mobile App
- Add New Language
- Add New Currency
- Unit Tests and Coverage
- Manual Tests
- Price Calculation
- Supplier Contracts
- Logs
- FAQ
Support
If you find this project helpful, consider buying me a coffee.
License
BookCars is MIT licensed.
62c698c (Initial commit)
Owner
- Login: PaluruSubbaNarasaiah
- Kind: user
- Repositories: 1
- Profile: https://github.com/PaluruSubbaNarasaiah
Citation (CITATION.cff)
cff-version: 1.2.0 message: "If you use BookCars in your research or projects, please cite it using the following metadata." title: "BookCars: A Car Rental Booking System" authors: - name: " " year: 2025 repository-code: " " license: " " keywords: - car rental - booking system - aggregator - web application - mobile app - react - react native - mongodb - stripe - paypal url: " " type: software
GitHub Events
Total
- Push event: 3
- Create event: 2
Last Year
- Push event: 3
- Create event: 2
Dependencies
- @types/node ^22.13.14 development
- @types/react ^19.0.12 development
- microbundle-crl ^0.13.11 development
- react ^19.1.0 development
- rimraf ^6.0.1 development
- typescript ^5.8.2 development
- reactjs-social-login file:
- actions/checkout v4 composite
- actions/setup-node v4 composite
- actions/checkout v4 composite
- actions/setup-node v4 composite
- actions/checkout v4 composite
- actions/setup-node v4 composite
- actions/checkout v4 composite
- actions/setup-node v4 composite
- actions/checkout v4 composite
- peaceiris/actions-gh-pages v3 composite
- shadowmoose/GHA-LoC-Badge 1.0.0 composite
- actions/checkout v4 composite
- actions/setup-node v4 composite
- actions/checkout v4 composite
- actions/github-script v7 composite
- actions/setup-node v4 composite
- codecov/codecov-action v5 composite
- coverallsapp/github-action v2 composite
- node lts-alpine build
- nginx stable-alpine build
- node lts-alpine build
- mongo latest
- nginx stable-alpine build
- node lts-alpine build
- 837 dependencies
- @typescript-eslint/eslint-plugin ^8.29.0 development
- @typescript-eslint/parser ^8.29.0 development
- eslint ^9.23.0 development
- eslint-plugin-import ^2.31.0 development
- eslint-plugin-jest ^28.11.0 development
- globals ^16.0.0 development
- nodemon ^3.1.9 development
- npm-check-updates ^17.1.16 development
- tsx ^4.19.3 development
- @babel/cli ^7.27.0
- @babel/core ^7.26.10
- @babel/plugin-transform-modules-commonjs ^7.26.3
- @babel/preset-env ^7.26.9
- @babel/preset-typescript ^7.27.0
- @types/bcrypt ^5.0.2
- @types/compression ^1.7.5
- @types/cookie-parser ^1.4.8
- @types/cors ^2.8.17
- @types/express ^5.0.1
- @types/jest ^29.5.14
- @types/multer ^1.4.12
- @types/node ^22.14.0
- @types/nodemailer ^6.4.17
- @types/supertest ^6.0.3
- @types/validator ^13.12.3
- api file:
- axios ^1.8.4
- babel-jest ^29.7.0
- babel-plugin-add-import-extension ^1.6.0
- babel-plugin-module-resolver ^5.0.2
- bcrypt ^5.1.1
- compression ^1.8.0
- cookie-parser ^1.4.7
- cors ^2.8.5
- cross-env ^7.0.3
- dotenv ^16.4.7
- escape-string-regexp ^5.0.0
- expo-server-sdk ^3.14.0
- express ^5.1.0
- helmet ^8.1.0
- i18n-js ^4.5.1
- jest ^29.7.0
- jose ^6.0.10
- mongoose ^8.13.2
- multer ^1.4.5-lts.2
- nanoid ^5.1.5
- nocache ^4.0.0
- nodemailer ^6.10.0
- rimraf ^6.0.1
- stripe ^18.0.0
- supertest ^7.1.0
- typescript ^5.8.2
- validator ^13.15.0
- winston ^3.17.0
- 550 dependencies
- @babel/plugin-transform-runtime ^7.26.10 development
- @typescript-eslint/eslint-plugin ^8.29.0 development
- @typescript-eslint/parser ^8.29.0 development
- babel-plugin-react-compiler ^19.0.0-beta-e993439-20250328 development
- eslint ^9.23.0 development
- eslint-plugin-react ^7.37.4 development
- eslint-plugin-react-compiler ^19.0.0-beta-e993439-20250328 development
- eslint-plugin-react-hooks ^5.2.0 development
- globals ^16.0.0 development
- npm-check-updates ^17.1.16 development
- stylelint ^16.17.0 development
- stylelint-config-standard ^37.0.0 development
- terser ^5.39.0 development
- vite-plugin-html ^3.2.2 development
- @emotion/react ^11.14.0
- @emotion/styled ^11.14.0
- @mui/icons-material ^7.0.1
- @mui/material ^7.0.1
- @mui/x-data-grid ^7.28.3
- @mui/x-date-pickers ^7.28.3
- @types/node ^22.14.0
- @types/nprogress ^0.2.3
- @types/react ^19.1.0
- @types/react-dom ^19.1.1
- @types/validator ^13.12.3
- @vitejs/plugin-react ^4.3.4
- axios ^1.8.4
- backend file:
- cross-env ^7.0.3
- date-fns ^4.1.0
- eslint-plugin-react-refresh ^0.4.19
- history ^5.3.0
- localized-strings ^2.0.3
- nprogress ^0.2.0
- react ^19.1.0
- react-dom ^19.1.0
- react-router-dom ^7.4.1
- react-toastify ^11.0.5
- rrule ^2.8.1
- typescript ^5.8.2
- validator ^13.15.0
- vite ^6.2.5
- 575 dependencies
- @babel/plugin-transform-runtime ^7.26.10 development
- @typescript-eslint/eslint-plugin ^8.29.0 development
- @typescript-eslint/parser ^8.29.0 development
- babel-plugin-react-compiler ^19.0.0-beta-e993439-20250328 development
- eslint ^9.23.0 development
- eslint-plugin-react ^7.37.4 development
- eslint-plugin-react-compiler ^19.0.0-beta-e993439-20250328 development
- eslint-plugin-react-hooks ^5.2.0 development
- globals ^16.0.0 development
- npm-check-updates ^17.1.16 development
- stylelint ^16.17.0 development
- stylelint-config-standard ^37.0.0 development
- terser ^5.39.0 development
- vite-plugin-html ^3.2.2 development
- @emotion/react ^11.14.0
- @emotion/styled ^11.14.0
- @mui/icons-material ^7.0.1
- @mui/material ^7.0.1
- @mui/x-data-grid ^7.28.3
- @mui/x-date-pickers ^7.28.3
- @paypal/react-paypal-js ^8.8.2
- @stripe/react-stripe-js ^3.6.0
- @stripe/stripe-js ^7.0.0
- @types/leaflet ^1.9.17
- @types/leaflet-boundary-canvas ^1.0.3
- @types/node ^22.14.0
- @types/nprogress ^0.2.3
- @types/react ^19.1.0
- @types/react-dom ^19.1.1
- @types/react-recaptcha-v3 ^1.1.5
- @types/react-slick ^0.23.13
- @types/validator ^13.12.3
- @vitejs/plugin-react ^4.3.4
- axios ^1.8.4
- cross-env ^7.0.3
- date-fns ^4.1.0
- eslint-plugin-react-refresh ^0.4.19
- frontend file:
- github-fork-ribbon-css ^0.2.3
- history ^5.3.0
- leaflet ^1.9.4
- leaflet-boundary-canvas ^1.0.0
- localized-strings ^2.0.3
- nprogress ^0.2.0
- react ^19.1.0
- react-circle-flags ^0.0.23
- react-dom ^19.1.0
- react-ga4 ^2.1.0
- react-leaflet ^5.0.0
- react-router-dom ^7.4.1
- react-slick ^0.30.3
- react-toastify ^11.0.5
- slick-carousel ^1.8.1
- typescript ^5.8.2
- validator ^13.15.0
- vite ^6.2.5
- 1066 dependencies
- @babel/core ^7.26.10 development
- @types/react ~18.3.12 development
- @typescript-eslint/eslint-plugin ^8.29.0 development
- @typescript-eslint/parser ^8.29.0 development
- cross-env ^7.0.3 development
- eslint ^9.24.0 development
- eslint-plugin-react ^7.37.5 development
- eslint-plugin-react-hooks ^5.2.0 development
- npm-check-updates ^17.1.16 development
- typescript ~5.8.3 development
- @babel/runtime ^7.27.0
- @react-native-async-storage/async-storage 1.23.1
- @react-native-community/datetimepicker 8.2.0
- @react-navigation/drawer ^7.3.7
- @react-navigation/native ^7.1.4
- @react-navigation/native-stack ^7.3.8
- @react-navigation/stack ^7.2.8
- @stripe/stripe-react-native 0.38.6
- @types/lodash.debounce ^4.0.9
- @types/mime ^4.0.0
- @types/react-native-dotenv ^0.2.2
- @types/react-native-vector-icons ^6.4.18
- @types/validator ^13.12.3
- axios ^1.8.4
- axios-retry ^4.5.0
- babel-plugin-module-resolver ^5.0.2
- bookcars file:
- date-fns ^4.1.0
- expo ~52.0.44
- expo-asset ~11.0.5
- expo-constants ~17.0.8
- expo-device ~7.0.3
- expo-document-picker ~13.0.3
- expo-image-picker ~16.0.6
- expo-linking ^7.0.5
- expo-localization ~16.0.1
- expo-location ~18.0.10
- expo-notifications ~0.29.14
- expo-splash-screen ~0.29.22
- expo-status-bar ~2.0.1
- expo-updates ~0.27.4
- i18n-js ^4.5.1
- lodash.debounce ^4.0.8
- mime ^4.0.7
- prop-types ^15.8.1
- react 18.3.1
- react-native 0.76.9
- react-native-animatable ^1.4.0
- react-native-dotenv ^3.4.11
- react-native-feather ^1.1.2
- react-native-gesture-handler ~2.20.2
- react-native-keyboard-aware-scroll-view ^0.9.5
- react-native-modal-datetime-picker ^18.0.0
- react-native-paper ^5.13.1
- react-native-reanimated ~3.16.1
- react-native-safe-area-context 4.12.0
- react-native-screens ~4.4.0
- react-native-size-matters ^0.4.2
- react-native-toast-message ^2.2.1
- react-native-vector-icons ^10.2.0
- validator ^13.15.0
- @isaacs/cliui 8.0.2 development
- @pkgjs/parseargs 0.11.0 development
- ansi-regex 5.0.1 development
- ansi-regex 6.0.1 development
- ansi-styles 6.2.1 development
- ansi-styles 4.3.0 development
- balanced-match 1.0.2 development
- brace-expansion 2.0.1 development
- color-convert 2.0.1 development
- color-name 1.1.4 development
- cross-spawn 7.0.3 development
- eastasianwidth 0.2.0 development
- emoji-regex 9.2.2 development
- emoji-regex 8.0.0 development
- foreground-child 3.1.1 development
- glob 10.3.12 development
- is-fullwidth-code-point 3.0.0 development
- isexe 2.0.0 development
- jackspeak 2.3.6 development
- lru-cache 10.2.0 development
- minimatch 9.0.4 development
- minipass 7.0.4 development
- path-key 3.1.1 development
- path-scurry 1.10.2 development
- rimraf 5.0.5 development
- shebang-command 2.0.0 development
- shebang-regex 3.0.0 development
- signal-exit 4.1.0 development
- string-width 4.2.3 development
- string-width 5.1.2 development
- string-width-cjs 4.2.3 development
- strip-ansi 7.1.0 development
- strip-ansi 6.0.1 development
- strip-ansi-cjs 6.0.1 development
- typescript 5.2.2 development
- which 2.0.2 development
- wrap-ansi 8.1.0 development
- wrap-ansi-cjs 7.0.0 development
- @babel/runtime 7.26.0
- bookcars-helper *
- regenerator-runtime 0.14.1
- rimraf ^5.0.5 development
- typescript ^5.2.2 development
- @babel/runtime ^7.26.0
- bookcars-helper file:
- @isaacs/cliui 8.0.2
- @pkgjs/parseargs 0.11.0
- ansi-regex 6.0.1
- ansi-regex 5.0.1
- ansi-styles 6.2.1
- ansi-styles 4.3.0
- balanced-match 1.0.2
- bookcars-types *
- brace-expansion 2.0.1
- color-convert 2.0.1
- color-name 1.1.4
- cross-spawn 7.0.3
- eastasianwidth 0.2.0
- emoji-regex 8.0.0
- emoji-regex 9.2.2
- foreground-child 3.1.1
- glob 10.3.4
- is-fullwidth-code-point 3.0.0
- isexe 2.0.0
- jackspeak 2.3.3
- lru-cache 10.0.1
- minimatch 9.0.3
- minipass 7.0.3
- path-key 3.1.1
- path-scurry 1.10.1
- rimraf 5.0.1
- shebang-command 2.0.0
- shebang-regex 3.0.0
- signal-exit 4.1.0
- string-width 5.1.2
- string-width 4.2.3
- string-width-cjs 4.2.3
- strip-ansi 7.1.0
- strip-ansi 6.0.1
- strip-ansi-cjs 6.0.1
- typescript 5.2.2
- which 2.0.2
- wrap-ansi 8.1.0
- wrap-ansi-cjs 7.0.0
- bookcars-types file:
- rimraf ^5.0.1
- typescript ^5.2.2
- @isaacs/cliui 8.0.2 development
- @types/node 22.13.0 development
- ansi-regex 5.0.1 development
- ansi-regex 6.1.0 development
- ansi-styles 6.2.1 development
- ansi-styles 4.3.0 development
- balanced-match 1.0.2 development
- brace-expansion 2.0.1 development
- color-convert 2.0.1 development
- color-name 1.1.4 development
- cross-spawn 7.0.6 development
- eastasianwidth 0.2.0 development
- emoji-regex 8.0.0 development
- emoji-regex 9.2.2 development
- foreground-child 3.3.0 development
- glob 11.0.0 development
- is-fullwidth-code-point 3.0.0 development
- isexe 2.0.0 development
- jackspeak 4.0.2 development
- lru-cache 11.0.2 development
- minimatch 10.0.1 development
- minipass 7.1.2 development
- package-json-from-dist 1.0.1 development
- path-key 3.1.1 development
- path-scurry 2.0.0 development
- rimraf 6.0.1 development
- shebang-command 2.0.0 development
- shebang-regex 3.0.0 development
- signal-exit 4.1.0 development
- string-width 5.1.2 development
- string-width 4.2.3 development
- string-width-cjs 4.2.3 development
- strip-ansi 7.1.0 development
- strip-ansi 6.0.1 development
- strip-ansi-cjs 6.0.1 development
- typescript 5.7.3 development
- undici-types 6.20.0 development
- which 2.0.2 development
- wrap-ansi 8.1.0 development
- wrap-ansi-cjs 7.0.0 development
- @babel/runtime 7.26.7
- asynckit 0.4.0
- axios 1.7.9
- combined-stream 1.0.8
- currency-converter *
- delayed-stream 1.0.0
- easy-currencies 1.8.1
- follow-redirects 1.15.9
- form-data 4.0.1
- mime-db 1.52.0
- mime-types 2.1.35
- proxy-from-env 1.1.0
- regenerator-runtime 0.14.1
- @types/node ^22.13.0 development
- rimraf ^6.0.1 development
- typescript ^5.7.3 development
- @babel/runtime ^7.26.7
- currency-converter file:
- easy-currencies ^1.8.1
- @isaacs/cliui 8.0.2
- @pkgjs/parseargs 0.11.0
- ansi-regex 6.0.1
- ansi-regex 5.0.1
- ansi-styles 6.2.1
- ansi-styles 4.3.0
- balanced-match 1.0.2
- brace-expansion 2.0.1
- color-convert 2.0.1
- color-name 1.1.4
- cross-spawn 7.0.3
- disable-react-devtools *
- eastasianwidth 0.2.0
- emoji-regex 8.0.0
- emoji-regex 9.2.2
- foreground-child 3.1.1
- glob 10.3.4
- is-fullwidth-code-point 3.0.0
- isexe 2.0.0
- jackspeak 2.3.3
- lru-cache 10.0.1
- minimatch 9.0.3
- minipass 7.0.3
- path-key 3.1.1
- path-scurry 1.10.1
- rimraf 5.0.1
- shebang-command 2.0.0
- shebang-regex 3.0.0
- signal-exit 4.1.0
- string-width 5.1.2
- string-width 4.2.3
- string-width-cjs 4.2.3
- strip-ansi 7.1.0
- strip-ansi 6.0.1
- strip-ansi-cjs 6.0.1
- typescript 5.2.2
- which 2.0.2
- wrap-ansi 8.1.0
- wrap-ansi-cjs 7.0.0
- disable-react-devtools file:
- rimraf ^5.0.1
- typescript ^5.2.2
- 571 dependencies
