{"id":13496035,"url":"https://github.com/aelassas/bookcars","last_synced_at":"2025-10-30T20:41:44.314Z","repository":{"id":62821210,"uuid":"483825268","full_name":"aelassas/bookcars","owner":"aelassas","description":"Car Rental Platform with Mobile App","archived":false,"fork":false,"pushed_at":"2025-10-29T09:54:21.000Z","size":50208,"stargazers_count":476,"open_issues_count":1,"forks_count":284,"subscribers_count":25,"default_branch":"main","last_synced_at":"2025-10-29T11:23:43.725Z","etag":null,"topics":["aggregator","bookcars","car-rental","car-rental-system","mern","mongodb","paypal","react","react-native","stripe"],"latest_commit_sha":null,"homepage":"https://bookcars.github.io","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/aelassas.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":".github/CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":"aelassas","buy_me_a_coffee":"aelassas","custom":["https://www.paypal.me/aelassaspp"]}},"created_at":"2022-04-20T21:56:03.000Z","updated_at":"2025-10-29T09:54:25.000Z","dependencies_parsed_at":"2024-03-21T07:23:31.830Z","dependency_job_id":"6258cc63-e208-4317-8527-93df02e7a09c","html_url":"https://github.com/aelassas/bookcars","commit_stats":null,"previous_names":[],"tags_count":73,"template":false,"template_full_name":null,"purl":"pkg:github/aelassas/bookcars","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aelassas%2Fbookcars","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aelassas%2Fbookcars/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aelassas%2Fbookcars/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aelassas%2Fbookcars/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aelassas","download_url":"https://codeload.github.com/aelassas/bookcars/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aelassas%2Fbookcars/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":281880683,"owners_count":26577696,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-30T02:00:06.501Z","response_time":61,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aggregator","bookcars","car-rental","car-rental-system","mern","mongodb","paypal","react","react-native","stripe"],"created_at":"2024-07-31T19:01:41.083Z","updated_at":"2025-10-30T20:41:44.302Z","avatar_url":"https://github.com/aelassas.png","language":"TypeScript","funding_links":["https://github.com/sponsors/aelassas","https://buymeacoffee.com/aelassas","https://www.paypal.me/aelassaspp","https://www.buymeacoffee.com/aelassas"],"categories":["TypeScript","Applications","Uncategorized"],"sub_categories":["Web","Uncategorized"],"readme":"[![build](https://github.com/aelassas/bookcars/actions/workflows/build.yml/badge.svg)](https://github.com/aelassas/bookcars/actions/workflows/build.yml) \n[![test](https://github.com/aelassas/bookcars/actions/workflows/test.yml/badge.svg)](https://github.com/aelassas/bookcars/actions/workflows/test.yml) \n[![coveralls](https://coveralls.io/repos/github/aelassas/bookcars/badge.svg?branch=main)](https://coveralls.io/github/aelassas/bookcars?branch=main)\n[![containerize](https://github.com/aelassas/bookcars/actions/workflows/containerize.yml/badge.svg)](https://github.com/aelassas/bookcars/actions/workflows/containerize.yml) \n[![loc](https://raw.githubusercontent.com/aelassas/bookcars/refs/heads/loc/badge.svg)](https://github.com/aelassas/bookcars/actions/workflows/loc.yml) \n[![live demo](https://img.shields.io/badge/live-demo-brightgreen)](https://bookcars.dynv6.net:3002/)\n\n\u003c!--\n[![docs](https://img.shields.io/badge/docs-wiki-brightgreen)](https://github.com/aelassas/bookcars/wiki)\n[![live demo](https://img.shields.io/badge/live-demo-brightgreen)](https://bookcars.dynv6.net:3002/)\n[![loc](https://raw.githubusercontent.com/aelassas/bookcars/refs/heads/loc/badge.svg)](https://github.com/aelassas/bookcars/actions/workflows/loc.yml) \n[![tested with jest](https://img.shields.io/badge/tested_with-jest-brightgreen?logo=jest)](https://github.com/jestjs/jest)\n[![PRs welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](https://github.com/aelassas/bookcars/pulls)\n[![codecov](https://codecov.io/gh/aelassas/bookcars/graph/badge.svg?token=FSB0H9RDEQ)](https://codecov.io/gh/aelassas/bookcars)\n[![codecov](https://img.shields.io/codecov/c/github/aelassas/bookcars?label=coverage)](https://codecov.io/gh/aelassas/bookcars)\n[![coveralls](https://coveralls.io/repos/github/aelassas/bookcars/badge.svg?branch=main)](https://coveralls.io/github/aelassas/bookcars?branch=main)\n[![open-vscode](https://img.shields.io/badge/open-vscode-1f425f.svg)](https://vscode.dev/github/aelassas/bookcars/)\n[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](https://github.com/aelassas/bookcars/blob/main/.github/CONTRIBUTING.md)\n\n[![containerize](https://github.com/aelassas/bookcars/actions/workflows/containerize.yml/badge.svg)](https://github.com/aelassas/bookcars/actions/workflows/containerize.yml)\n\nhttps://github.com/user-attachments/assets/01afc5ec-3c0a-47b9-a4e1-3b8888b2a695\n--\u003e\n\n[![](https://bookcars.github.io/content/cover-1.png)](https://bookcars.dynv6.net:3002/)\n\n## BookCars\n\nBookCars is an open-source and cross-platform car rental platform with an admin panel for managing fleets and bookings, as well as a frontend and a mobile app for renting cars.\n\nIt 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.\n\nBookCars 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.\n\nThe admin panel allows admins to manage suppliers, cars, countries, locations, parking spots, customers, bookings, and payments.\n\nCustomers 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.\n\n## Quick Links\n* [Overview](https://github.com/aelassas/bookcars/wiki/Overview)  \n* [Install Guide (Self-hosted)](https://github.com/aelassas/bookcars/wiki/Installing-(Self%E2%80%90hosted))\n* [Install Guide (Docker)](https://github.com/aelassas/bookcars/wiki/Installing-(Docker))\n* [Build Mobile App](https://github.com/aelassas/bookcars/wiki/Build-Mobile-App)  \n* [Price Calculation](https://github.com/aelassas/bookcars/wiki/Price-Calculation)\n* [Rental Date and Time Constraints](https://github.com/aelassas/bookcars/wiki/Rental-Date-and-Time-Constraints)\n* [Payment Gateways](https://github.com/aelassas/bookcars/wiki/Payment-Gateways)\n* [FAQ](https://github.com/aelassas/bookcars/wiki/FAQ)\n* [Full Documentation](https://github.com/aelassas/bookcars/wiki)\n\n## Features\n\n### Supplier \u0026 Fleet Management\n\n* Supplier management\n* Supplier contracts\n* Supplier search result limit\n* Ready for single or multiple suppliers\n* Car fleet management\n* Flexible time-based car availability\n* Flexible rental date and time constraints\n* Booking management\n* Vehicle scheduler\n* Auto-notification system\n\n### Pricing \u0026 Payments\n\n* Dynamic price calculation: hourly, daily, weekly, bi-weekly, and monthly rates\n* Date-based price rates\n* Price change rate\n* Payment management\n* Multiple payment gateways supported: Stripe, PayPal\n* Multiple payment methods: Credit Card, PayPal, Google Pay, Apple Pay, Link, Pay at the counter, Pay in full, Pay deposit\n\n### Locations \u0026 Search\n\n* Hierarchical locations with country, map, and parking integration\n* Location-based search with nested child location support\n* Map display for locations and parking spots\n\n### User Experience\n\n* Customer management\n* Multiple login options: Google, Facebook, Apple, Email\n* Multiple language support: English, French, Spanish\n* Multiple currencies support\n* Multiple pagination styles: classic (next/previous), infinite scroll\n* Push notifications\n\n### Security \u0026 Performance\n\n* Secure against XSS, XST, CSRF, MITM, and DDoS attacks\n* Responsive admin panel and frontend\n* Native mobile app for Android and iOS (single codebase)\n* Docker support for easy deployment and better developer experience\n* Error monitoring and performance tracing\n\n### Supported Platforms\n* iOS\n* Android\n* Web\n* Docker\n\n## Support \u0026 Contributing\n\nIf 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](https://github.com/sponsors/aelassas) (one-time or monthly), [PayPal](https://www.paypal.me/aelassaspp), or [Buy Me a Coffee](https://www.buymeacoffee.com/aelassas). 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.\n\n\u003c!--\u003ca href=\"https://github.com/sponsors/aelassas\"\u003e\u003cimg src=\"https://aelassas.github.io/content/github-sponsor-button.png\" alt=\"GitHub\" width=\"210\"\u003e\u003c/a\u003e\n\u003ca href=\"https://www.paypal.me/aelassaspp\"\u003e\u003cimg src=\"https://aelassas.github.io/content/paypal-button-v2.png\" alt=\"PayPal\" width=\"208\"\u003e\u003c/a\u003e\n\u003ca href=\"https://www.buymeacoffee.com/aelassas\"\u003e\u003cimg src=\"https://aelassas.github.io/content/bmc-button.png\" alt=\"Buy Me A Coffee\" width=\"160\"\u003e\u003c/a\u003e--\u003e\n\nTo contribute code or report issues, please read the [Contribution Guide](https://github.com/aelassas/bookcars/blob/main/.github/CONTRIBUTING.md) to learn about the process, coding standards, and how to submit pull requests.\n\nIf you want to customize BookCars while keeping your fork up to date with the latest changes, check out the [Fork, Customize, and Sync](https://github.com/aelassas/bookcars/wiki/Fork,-Customize,-and-Sync) guide in the Wiki.\n\n## Live Demo\n\u003c!--\nSome features are locked down on the demo links provided. To have access to all the features contact me by email. You can find it on my [profile page](https://github.com/aelassas) (requires login).\n--\u003e\n### Frontend\n\n* URL: https://bookcars.dynv6.net:3002/\n* Login: jdoe@bookcars.ma\n* Password: B00kC4r5\n\n### Admin Panel\n\n* URL: https://bookcars.dynv6.net:3001/\n* Login: admin@bookcars.ma\n* Password: B00kC4r5\n\n### Mobile App\n\nYou can install the Android app on any Android device.\n\n#### Scan this code with a device\n\nOpen the Camera app and point it at this code. Then tap the notification that appears.\n\n\u003cimg alt=\"\" width=\"120\" src=\"https://bookcars.github.io/content/qr-code-8.1.png\"\u003e\n\n#### How to install the Mobile App on Android\n\n* 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).\n\n* On devices running Android 7.1.1 (API level 25) and lower, you should enable the Unknown sources system setting, found in Settings \u003e Security on your device.\n\n#### Alternative Way\n\nYou can install the Android App by downloading the APK and installing it on any Android device.\n\n* [Download APK](https://github.com/aelassas/bookcars/releases/download/v8.1/bookcars-8.1.apk)\n* Login: jdoe@bookcars.ma\n* Password: B00kC4r5\n\u003c!--\n## Website Source Code (bookcars.github.io)\n\nThe source code for the official BookCars website is available here:\n\n[https://github.com/bookcars/bookcars.github.io](https://github.com/bookcars/bookcars.github.io)\n\nIt features a clean landing page with multilingual support, dark mode, and SEO optimizations to help it reach users in different languages and regions.\n\nThe codebase follows the Separation of Concerns (SoC) principle, with a modular and maintainable architecture that aligns with the Single Responsibility Principle (SRP), modularity, and modern frontend best practices. It uses GitHub Actions for automatic builds and deployments. The Android demo app download link is dynamically fetched and updated on the site.\n\n⚡ **Ultra-fast performance**\n\nThe website loads in under 1.5 seconds on slow 4G with **0ms blocking**, **0 layout shift**, and a blazing **Speed Index of 0.8**.\n\nFeel free to explore the code, suggest improvements, or use it as a template for your own landing page.\n--\u003e\n\n## License\n\nBookCars is [MIT licensed](https://github.com/aelassas/bookcars/blob/main/LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faelassas%2Fbookcars","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faelassas%2Fbookcars","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faelassas%2Fbookcars/lists"}