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.3%) to scientific vocabulary
Repository
Basic Info
- Host: GitHub
- Owner: WenCreatives
- License: mit
- Language: TypeScript
- Default Branch: main
- Size: 3.63 MB
Statistics
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
- Releases: 0
Metadata Files
README.md
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 is designed for startups looking to launch a single-supplier car rental business, companies that need a multi-supplier rental solution, developers who want to study a full-stack codebase for learning, and anyone looking for a solid foundation to build a custom car rental platform.
It comes with built-in support for Stripe and PayPal payment gateways, allowing you to choose the one best suited for your country or business model. If Stripe isn't available in your region, PayPal serves as a secure and reliable alternative.
You can deploy BookCars with minimal cost using the Docker-based setup. It runs efficiently on a small virtual server with just 1GB of RAM—ideal for startups and small businesses. Hosting can cost around $5/month using cloud providers like Hetzner or DigitalOcean.
BookCars supports both single-supplier and multi-supplier modes. Suppliers can manage their fleets and bookings through a dedicated admin panel. Each new supplier receives an email prompting them to create their account and gain access to the system.
The admin panel allows admins to manage suppliers, cars, countries, locations, parking spots, customers, bookings, and payments.
Customers can register through the web frontend or mobile app, search for available cars based on pickup and drop-off points and time, choose a car and complete the checkout process in a few clicks.
Features
Supplier & Fleet Management
- Supplier management
- Supplier contracts
- Supplier search result limit
- Ready for single or multiple suppliers
- Car fleet management
- Booking management
- Vehicle scheduler
- Auto-Notification System
Pricing & Payments
- Dynamic price calculation
- Date-based price rates
- Price change rate
- Payment management
- Multiple payment gateways supported (Stripe, PayPal)
- Multiple payment methods: Credit Card, PayPal, Google Pay, Apple Pay, Link, Pay at the counter, Pay in full, Pay deposit
Locations & Search
- Hierarchical locations with country, map, and parking integration
- Location-based search with nested child location support
- Map display for locations and parking spots
User Experience
- Customer management
- Multiple login options: Google, Facebook, Apple, Email
- Multiple language support: English, French, Spanish
- Multiple currencies support
- Multiple pagination styles: classic (next/previous), infinite scroll
- Push notifications
Security & Performance
- Secure against XSS, XST, CSRF, MITM, and DDoS attacks
- Responsive admin panel and frontend
- Native mobile app for Android and iOS (single codebase)
- Docker support for easy deployment and a better developer experience
- Error monitoring and performance tracing with Sentry
Supported Platforms
- iOS
- Android
- Web
- Docker
Support & Contributing
If this project helped you, saved you time, or inspired you in any way, please consider supporting its future growth and maintenance. You can show your support by starring the repository (it helps increase visibility and shows your appreciation), sharing the project (recommend it to colleagues, communities, or on social media), or making a donation (if you'd like to financially support the development) via GitHub Sponsors (one-time or monthly), PayPal, or Buy Me a Coffee. Open-source software requires time, effort, and resources to maintain—your support helps keep this project alive, up-to-date, and accessible to everyone. Every contribution, big or small, makes a difference and motivates continued work on features, bug fixes, and new ideas.
To contribute code or report issues, please read the Contribution Guide to learn about the process, coding standards, and how to submit pull requests.
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
- Software Architecture
- Advanced Features
- Installing (Self-hosted)
- Installing (Docker)
- Setup Sentry
- Payment Gateways
- Setup Stripe
- Social Login Setup
- Build Mobile App
- Demo Database
- Run from Source
- Run from Source (Docker)
- Run Mobile App
- Locations
- Auto‐Notification System
- Price Calculation
- Supplier Contracts
- Add New Language
- Add New Currency
- Logs
- Testing
- FAQ
- Release Notes
- Contribution Guide
- Code of Conduct
License
BookCars is MIT licensed.
Owner
- Login: WenCreatives
- Kind: user
- Repositories: 1
- Profile: https://github.com/WenCreatives
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: "Akram El Assas" year: 2025 repository-code: "https://github.com/aelassas/bookcars" license: "MIT" keywords: - car rental - booking system - aggregator - react - react native - mongodb - stripe - paypal - bookcars url: "https://github.com/aelassas/bookcars" type: software
GitHub Events
Total
- Member event: 1
- Push event: 9
Last Year
- Member event: 1
- Push event: 9
Dependencies
- 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/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
- nginx stable-alpine build
- node lts-alpine build
- node lts-alpine build
- mongo latest
- mongo-express latest
- mongo latest
- mongo-express latest
- nginx stable-alpine build
- node lts-alpine build
- 554 dependencies
- @babel/plugin-transform-runtime ^7.27.4 development
- @types/nprogress ^0.2.3 development
- @types/react ^19.1.8 development
- @types/react-dom ^19.1.6 development
- @types/validator ^13.15.2 development
- @typescript-eslint/eslint-plugin ^8.35.0 development
- @typescript-eslint/parser ^8.35.0 development
- @vitejs/plugin-react ^4.6.0 development
- babel-plugin-react-compiler ^19.1.0-rc.2 development
- cross-env ^7.0.3 development
- eslint ^9.30.0 development
- eslint-plugin-react ^7.37.5 development
- eslint-plugin-react-compiler ^19.1.0-rc.2 development
- eslint-plugin-react-hooks ^5.2.0 development
- eslint-plugin-react-refresh ^0.4.20 development
- globals ^16.2.0 development
- npm-check-updates ^18.0.1 development
- stylelint ^16.21.0 development
- stylelint-config-standard ^38.0.0 development
- terser ^5.43.1 development
- typescript ^5.8.3 development
- vite ^7.0.0 development
- vite-plugin-html ^3.2.2 development
- @emotion/react ^11.14.0
- @emotion/styled ^11.14.1
- @hookform/resolvers ^5.1.1
- @mui/icons-material ^7.1.2
- @mui/material ^7.1.2
- @mui/x-data-grid ^8.6.0
- @mui/x-date-pickers ^8.6.0
- axios ^1.10.0
- date-fns ^4.1.0
- history ^5.3.0
- localized-strings ^2.0.3
- nprogress ^0.2.0
- react ^19.1.0
- react-dom ^19.1.0
- react-hook-form ^7.59.0
- react-router-dom ^7.6.3
- react-toastify ^11.0.5
- rrule ^2.8.1
- validator ^13.15.15
- zod ^3.25.67
- 897 dependencies
- @babel/cli ^7.27.2 development
- @babel/core ^7.27.7 development
- @babel/plugin-transform-modules-commonjs ^7.27.1 development
- @babel/preset-env ^7.27.2 development
- @babel/preset-typescript ^7.27.1 development
- @types/bcrypt ^5.0.2 development
- @types/compression ^1.8.1 development
- @types/cookie-parser ^1.4.9 development
- @types/cors ^2.8.19 development
- @types/express ^4.17.21 development
- @types/jest ^30.0.0 development
- @types/multer ^1.4.13 development
- @types/node ^24.0.6 development
- @types/nodemailer ^6.4.17 development
- @types/supertest ^6.0.3 development
- @types/validator ^13.15.2 development
- @typescript-eslint/eslint-plugin ^8.35.0 development
- @typescript-eslint/parser ^8.35.0 development
- babel-jest ^30.0.2 development
- babel-plugin-add-import-extension ^1.6.0 development
- babel-plugin-module-resolver ^5.0.2 development
- cross-env ^7.0.3 development
- eslint ^9.30.0 development
- eslint-plugin-import ^2.32.0 development
- eslint-plugin-jest ^29.0.1 development
- globals ^16.2.0 development
- jest ^30.0.3 development
- nodemon ^3.1.10 development
- npm-check-updates ^18.0.1 development
- rimraf ^6.0.1 development
- supertest ^7.1.1 development
- tsx ^4.20.3 development
- typescript ^5.8.3 development
- @sentry/node ^9.33.0
- axios ^1.10.0
- bcrypt ^6.0.0
- compression ^1.8.0
- cookie-parser ^1.4.7
- cors ^2.8.5
- dotenv ^17.0.0
- escape-string-regexp ^5.0.0
- expo-server-sdk ^3.15.0
- express ^4.18.2
- helmet ^8.1.0
- i18n-js ^4.5.1
- jose ^6.0.11
- mongoose ^8.16.1
- multer ^2.0.1
- nanoid ^5.1.5
- nocache ^4.0.0
- nodemailer ^7.0.3
- stripe ^18.2.1
- validator ^13.15.15
- winston ^3.17.0
- 579 dependencies
- @babel/plugin-transform-runtime ^7.27.4 development
- @types/leaflet ^1.9.19 development
- @types/leaflet-boundary-canvas ^1.0.3 development
- @types/nprogress ^0.2.3 development
- @types/react ^19.1.8 development
- @types/react-dom ^19.1.6 development
- @types/react-recaptcha-v3 ^1.1.5 development
- @types/react-slick ^0.23.13 development
- @types/validator ^13.15.2 development
- @typescript-eslint/eslint-plugin ^8.35.0 development
- @typescript-eslint/parser ^8.35.0 development
- @vitejs/plugin-react ^4.6.0 development
- babel-plugin-react-compiler ^19.1.0-rc.2 development
- cross-env ^7.0.3 development
- eslint ^9.30.0 development
- eslint-plugin-react ^7.37.5 development
- eslint-plugin-react-compiler ^19.1.0-rc.2 development
- eslint-plugin-react-hooks ^5.2.0 development
- eslint-plugin-react-refresh ^0.4.20 development
- globals ^16.2.0 development
- npm-check-updates ^18.0.1 development
- stylelint ^16.21.0 development
- stylelint-config-standard ^38.0.0 development
- terser ^5.43.1 development
- typescript ^5.8.3 development
- vite ^7.0.0 development
- vite-plugin-html ^3.2.2 development
- @emotion/react ^11.14.0
- @emotion/styled ^11.14.1
- @hookform/resolvers ^5.1.1
- @mui/icons-material ^7.1.2
- @mui/material ^7.1.2
- @mui/x-data-grid ^8.6.0
- @mui/x-date-pickers ^8.6.0
- @paypal/react-paypal-js ^8.8.3
- @stripe/react-stripe-js ^3.7.0
- @stripe/stripe-js ^7.4.0
- axios ^1.10.0
- date-fns ^4.1.0
- 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-hook-form ^7.59.0
- react-leaflet ^5.0.0
- react-router-dom ^7.6.3
- react-slick ^0.30.3
- react-toastify ^11.0.5
- slick-carousel ^1.8.1
- validator ^13.15.15
- zod ^3.25.67
- 904 dependencies
- @babel/core ^7.27.7 development
- @types/lodash.debounce ^4.0.9 development
- @types/mime ^4.0.0 development
- @types/prop-types ^15.7.15 development
- @types/react ~19.0.10 development
- @types/react-native-dotenv ^0.2.2 development
- @types/react-native-vector-icons ^6.4.18 development
- @types/validator ^13.15.2 development
- @typescript-eslint/eslint-plugin ^8.35.0 development
- @typescript-eslint/parser ^8.35.0 development
- babel-plugin-module-resolver ^5.0.2 development
- cross-env ^7.0.3 development
- eslint ^9.30.0 development
- eslint-plugin-react ^7.37.5 development
- eslint-plugin-react-hooks ^5.2.0 development
- typescript ~5.8.3 development
- @babel/runtime ^7.27.6
- @react-native-async-storage/async-storage 2.1.2
- @react-native-community/datetimepicker 8.4.1
- @react-navigation/drawer ^7.5.2
- @react-navigation/native ^7.1.14
- @react-navigation/native-stack ^7.3.21
- @react-navigation/stack ^7.4.2
- @stripe/stripe-react-native 0.45.0
- axios ^1.10.0
- axios-retry ^4.5.0
- date-fns ^4.1.0
- expo ^53.0.13
- expo-asset ~11.1.5
- expo-constants ~17.1.6
- expo-device ~7.1.4
- expo-document-picker ~13.1.6
- expo-image-picker ~16.1.4
- expo-linking ~7.1.5
- expo-localization ~16.1.5
- expo-location ~18.1.5
- expo-notifications ~0.31.3
- expo-splash-screen ~0.30.9
- expo-status-bar ~2.2.3
- expo-updates ~0.28.15
- i18n-js ^4.5.1
- lodash.debounce ^4.0.8
- mime ^4.0.7
- prop-types ^15.8.1
- react 19.0.0
- react-native 0.79.4
- react-native-animatable ^1.4.0
- react-native-dotenv ^3.4.11
- react-native-feather ^1.1.2
- react-native-gesture-handler ~2.24.0
- react-native-keyboard-aware-scroll-view ^0.9.5
- react-native-modal-datetime-picker ^18.0.0
- react-native-paper ^5.14.5
- react-native-reanimated ~3.17.4
- react-native-safe-area-context 5.4.0
- react-native-screens ^4.11.1
- react-native-size-matters ^0.4.2
- react-native-toast-message ^2.3.2
- react-native-vector-icons ^10.2.0
- validator ^13.15.15
- @eslint-community/eslint-utils 4.7.0 development
- @eslint-community/regexpp 4.12.1 development
- @eslint/config-array 0.20.0 development
- @eslint/config-helpers 0.2.2 development
- @eslint/core 0.14.0 development
- @eslint/eslintrc 3.3.1 development
- @eslint/js 9.27.0 development
- @eslint/object-schema 2.1.6 development
- @eslint/plugin-kit 0.3.1 development
- @humanfs/core 0.19.1 development
- @humanfs/node 0.16.6 development
- @humanwhocodes/module-importer 1.0.1 development
- @humanwhocodes/retry 0.4.3 development
- @humanwhocodes/retry 0.3.1 development
- @types/estree 1.0.7 development
- @types/json-schema 7.0.15 development
- acorn 8.14.1 development
- acorn-jsx 5.3.2 development
- ajv 6.12.6 development
- ansi-styles 4.3.0 development
- argparse 2.0.1 development
- balanced-match 1.0.2 development
- brace-expansion 1.1.11 development
- callsites 3.1.0 development
- chalk 4.1.2 development
- chalk 5.4.1 development
- color-convert 2.0.1 development
- color-name 1.1.4 development
- concat-map 0.0.1 development
- cross-spawn 7.0.6 development
- debug 4.4.1 development
- deep-is 0.1.4 development
- escape-string-regexp 4.0.0 development
- eslint 9.27.0 development
- eslint-scope 8.3.0 development
- eslint-visitor-keys 3.4.3 development
- eslint-visitor-keys 4.2.0 development
- espree 10.3.0 development
- esquery 1.6.0 development
- esrecurse 4.3.0 development
- estraverse 5.3.0 development
- esutils 2.0.3 development
- fast-deep-equal 3.1.3 development
- fast-json-stable-stringify 2.1.0 development
- fast-levenshtein 2.0.6 development
- file-entry-cache 8.0.0 development
- find-up 5.0.0 development
- flat-cache 4.0.1 development
- flatted 3.3.3 development
- glob-parent 6.0.2 development
- globals 14.0.0 development
- has-flag 4.0.0 development
- husky 9.1.7 development
- ignore 5.3.2 development
- import-fresh 3.3.1 development
- imurmurhash 0.1.4 development
- is-extglob 2.1.1 development
- is-glob 4.0.3 development
- isexe 2.0.0 development
- js-yaml 4.1.0 development
- json-buffer 3.0.1 development
- json-schema-traverse 0.4.1 development
- json-stable-stringify-without-jsonify 1.0.1 development
- keyv 4.5.4 development
- levn 0.4.1 development
- locate-path 6.0.0 development
- lodash.merge 4.6.2 development
- minimatch 3.1.2 development
- ms 2.1.3 development
- natural-compare 1.4.0 development
- optionator 0.9.4 development
- p-limit 6.2.0 development
- p-limit 3.1.0 development
- p-locate 5.0.0 development
- parent-module 1.0.1 development
- path-exists 4.0.0 development
- path-key 3.1.1 development
- prelude-ls 1.2.1 development
- punycode 2.3.1 development
- resolve-from 4.0.0 development
- shebang-command 2.0.0 development
- shebang-regex 3.0.0 development
- strip-json-comments 3.1.1 development
- supports-color 7.2.0 development
- type-check 0.4.0 development
- uri-js 4.4.1 development
- which 2.0.2 development
- word-wrap 1.2.5 development
- yocto-queue 0.1.0 development
- yocto-queue 1.2.1 development
- chalk ^5.4.1 development
- eslint ^9.27.0 development
- husky ^9.1.7 development
- p-limit ^6.2.0 development
- 146 dependencies
- @typescript-eslint/eslint-plugin ^8.34.0 development
- @typescript-eslint/parser ^8.34.0 development
- eslint ^9.28.0 development
- rimraf ^6.0.1 development
- typescript ^5.8.3 development
- @babel/runtime ^7.27.6
- 145 dependencies
- @typescript-eslint/eslint-plugin ^8.34.0 development
- @typescript-eslint/parser ^8.34.0 development
- eslint ^9.28.0 development
- rimraf ^6.0.1
- typescript ^5.8.3
- 173 dependencies
- @types/node ^24.0.3 development
- @typescript-eslint/eslint-plugin ^8.34.1 development
- @typescript-eslint/parser ^8.34.1 development
- eslint ^9.29.0 development
- rimraf ^6.0.1 development
- typescript ^5.8.3 development
- @babel/runtime ^7.27.6
- easy-currencies ^1.8.3
- 145 dependencies
- @typescript-eslint/eslint-plugin ^8.34.0 development
- @typescript-eslint/parser ^8.34.0 development
- eslint ^9.28.0 development
- rimraf ^6.0.1
- typescript ^5.8.3
- 661 dependencies
- @types/node ^24.0.0 development
- @types/react ^19.1.7 development
- @typescript-eslint/eslint-plugin ^8.34.0 development
- @typescript-eslint/parser ^8.34.0 development
- eslint ^9.28.0 development
- microbundle-crl ^0.13.11 development
- react ^19.1.0 development
- rimraf ^6.0.1 development
- typescript ^5.8.3 development
