Giter VIP home page Giter VIP logo

traewelling's Introduction

Träwelling is a free check-in service that lets you tell your friends where you are and where you can log your public transit journeys. In short, you can check into trains and get points for it. Check it out at traewelling.de.

Resources build with prod Resources build with dev Composer install and test Laravel Gitmoji Codacy Badge Codacy Coverage Badge Translation status License Träwelling Screenshot

Features

  • Check into trains, trams, busses and more travel types in most of Europe
  • Track your work trips, e.g. for tax returns and travel expenses
  • Follow other people and see where they're going
  • Meet new friends who are on the same trip
  • Find who's going to an event and is with you in your journey
  • Optional sharing to Twitter and Mastodon
  • See statistics about your trips
  • Export your trips to CSV, JSON or PDF
  • Create own applications with our API
  • Available in German, English, Polish, French and Dutch

Set up an instance

Option 1: Using docker compose

In the docker folder you will find a sample docker-compose.yml and minimal settings in the .env files. Adjust the values according to your requirements and start the containers:

cd docker
docker-compose up

You can have sample data created if you set the environment variable SEED_DB=true.

Option 2: Manual installation (e.g. for local development)

To set up a Träwelling instance you'll need:

  • npm
  • MariaDB or MySQL (SQLite is used for running tests)
  • Composer
  • PHP 8.1 and the dependencies mentioned in composer.json

A local instance of db-rest v5 is recommended for the connection to HAFAS. Alternatively you can use a public instance (see .env.example).

After setting up these, you can clone the repository and install the project's dependencies:

composer install
npm install
npm run dev

Now, you can create your own environment configuration:

cp .env.example .env
vi .env

Please change whatever sounds wrong to you. This is also the place to add API keys (e.g. for Twitter). While you will not need all of those, you can stumble into weird bugs.

Then, generate some application keys and migrate the database to the latest level:

php artisan optimize
php artisan key:generate
php artisan migrate 
#for example data use 
#php artisan db:seed
php artisan passport:install

Use your webserver of choice or the in php included dev server (php artisan serve) to boot the application. You should see the Träwelling homepage at http://localhost:8000.

Contributing

Contributions are more than welcome. Please open an issue for bugs or feature requests. If you want to implement the feature - great; if you don't want to, that's fine, too.

If you add code:

  • If you edit the language files, please check if your change is applicable at least in english.

  • If you work on the front page (see screenshot above), please consider updating the screenshot.

  • Please consider adding unit and integration tests, especially if you're adding new features.

If you want, you can join our discord server for discussions, support and more: https://discord.gg/QypAnG2qAw

Translations

We currently support the languages German, English, Polish, French and Dutch. We would like to become even more international and for this we need you and your language skills.

We use a Weblate instance to manage the translations. There you can add new translations and correct mistakes.

Security

If you have identified a security issue, please refrain from directly creating an issue or PullRequest so that the vulnerability is not exploited.

Instead, please contact [email protected] or use other contact methods.

License

We are using the Affero General Public License (why?) - you are required to publish changes that you make to this software. Please refrain from creating your own public instance of Träwelling, instead try to create a better version for everyone.

traewelling's People

Contributors

mrkriskrisu avatar herrlevin avatar jeyemwey avatar dependabot[bot] avatar weblate avatar aledjones avatar jheubuch avatar nilsziegfeld avatar stefanhff avatar marhei avatar eventhorizon8 avatar sergio-ferreira avatar m4rcdev avatar antvgr avatar codacy-badger avatar gregoryjourdain avatar dc7ia avatar vogeslu avatar nycodeghg avatar simonvik avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.