Compañero is an open-source ridesharing and hitchhiking service. Find a travel companion without any expenses!
POC: https://t.me/CompaneroBot
Website | Public Channel | Chat
- Privacy. No personal data needed to use our app.
- Multi-language. For now, we support 6 languages: English, Spanish, Ukrainian, Portuguese, French, German.
- Free. Compañero is completely free and open-source.
- Cross-plarform. Use it on any device where Telegram is installed.
- Simplicity. Request a ride just in several clicks and all drivers near-by will recieve it.
- Price calculation. You can always rely on our price calculations or set your own price, even request a free ride!
- Rating system. Rate drivers and passengers after each ride, fostering trust and safety within our community.
- You set up a profile and choose a role (driver or passenger).
- As a passenger, you can request a ride by sending the location of the pickup point and the destination point.
- Also, as a passenger, you can provide extra information, set a price (we also calculate a recommended one for you 🥰), and choose a pickup time.
- If you request a ride for now, all drivers in an area of 25 kilometers around you will receive your request.
- If you request a ride for later, all drivers in the area of 125 kilometers around you will receive your request.
- As a driver, you can see the pickup point, the approximate destination point, the price, and some extra information (not personal data).
- You can accept this ride request and see the user's contacts that he provided. At the pickup point, you will see the full destination address.
- Generate Telegram Token, using @BotFather.
- Run your MongoDB database.
- Create "CompaneroBotDB" database in your MondoDB. (optional step)
- Create collection "driversInfo" in your "CompaneroBotDB" database. (optional step)
- Create "2dsphere" index for "location" field in "driversInfo" collection.
- Run Compañero using next command:
mvn clean compile exec:java -Dexec.mainClass=com.companerobot.Main -Dbot_token=*token* -Dmongodb_client_url=*url* -Dcipher_algorithm=*algorithm* -Dcipher_key=*key*
- For
-Dcipher_algorithm
you can use "AES/ECB/PKCS5Padding" or any alternative to it.
- For
- Have fun 😉
- We believe in kindness and the power of human connection.
- We believe that travel should be accessible to all, regardless of economic status.
- We believe in environmentally conscious travelling approach and one of our aims is to reduce carbon footprints.
- We believe that simplicity is a key.
We welcome contributions to our project! Here are some ways you can help:
- 🐛 Report bugs or suggest features
- 💻 Submit pull requests
- 🙋♂️ Vote for new features in our public channel
- 🔍 Perform code reviews
- 📖 Improve documentation
- 🧪 Add or improve tests
- 🌐 Help with translations
- 🤝 Provide support in discussions
- 🚀 Share the project
- ⭐ Star us on GitHub — it motivates us a lot!
A huge thank you to everyone who is helping to improve Compañero. Thanks to you, the project can evolve!
I don't ask for donations for this project, but I kindly request your support for Ukraine during these tough times 🇺🇦
The country and its people are facing a humanitarian disaster and need our help. If you find this project useful, please consider making a donation to reputable organizations providing aid to Ukraine. Every contribution, no matter how small, can make a significant difference.
You can choose any fund you like or make a donation at savelife.in.ua.
Thank you for your compassion and generosity 🙏
This project is licensed under the GNU Affero General Public License v3.0 - see the LICENSE file for details.