Giter Site home page Giter Site logo

grouptripper's Introduction

Group Tripper

Discover the world with friends

All Contributors

https://github.com/hucki/grouptripper https://github.com/hucki/grouptripper https://github.com/hucki/grouptripper

Grouptripper is an App to plan Trips with your friends and family.

Live Demo

You can find a deployed version of this App here (user: [email protected] , password: Demo1234)

The Frontend and Backend ar hosted on one Heroku Dyno, the database is served from the MongoDB Atlas Cloud.

Features

Setup a basic trip Itinerary with a short description, your country of destination along with your trip dates and add some stops.

Easily invite your Friends and Family to collaborate on your planning.

After accepting your invite, your co-travellers can add stops or reorder them and add comments to the your trip.

Project Presentation

Grouptripper was developed as a Thesis Project for the Codeworks Bootcamp by Alex Marshall, Mohammed Abdul Khader and Stefan Huckschlag.

Here you can find a video of the project presentation:

Grouptripper Video Thumbnail

Getting started

These instruction will help you setup a local development instance of the app.

get the repo

git clone https://github.com/hucki/grouptripper.git

install the dependencies

npm install

Setup prerequisites

For an example how to fill /server/.env see /server/.env.example For an example how to fill /client/.env.local see /client/.env.local.example

Database

  1. set up a mongoDB database locally or as a hosted service
  2. choose a database name and set DB_NAME in /server/.env
  3. set DB_USER and DB_PASS in /server/.env
local DB

Only if you want to run the DB locally follow theses steps:

  1. set DB_LOCAL=true in /server/.env
  2. set DB_LOCAL_URI and DB_LOCAL_PORT in /server/.env as shown in the example file
remote DB

Only if you want to run the DB remotely follow theses steps:

  1. set DB_LOCAL=false in /server/.env
  2. set DB_URI_PROTOCOL, DB_URI_HOST and DB_URI_PARAMS in /server/.env as shown in the example file

Hint: For debugging and/or development purposes, you can set up databases both locally and remotely and switch between them by setting DB_LOCAL to true or false

Mail provider

  • add EMAIL_USER and EMAIL_PASSWORD to /server/.env

Authentication

Set up an Application on auth0 and add AUTH0_DOMAIN, AUTH0_CLIENTID, AUTH0_CLIENT_SECRET and AUTH0_AUDIENCE to /server/.env

APIs

  • unsplash: apply for an API key and add to /server/.env
  • openrouteservice: apply for an API key and add to /client/.env.local

Start the App

Start client and server in dev mode locally

From the root folder of the project change into /server and npm start From the root folder of the project change into /client and npm start

Deploy the App

Build process

To create a build ready for Deployment, just run

npm run build

from the root folder of the project. The result will be created in server/dist and includes the compiled backend and frontend

start the App

To start the created build just run

npm start

from the root folder of the project.

Tech-Stack

https://reactjs.org https://www.typescriptlang.org https://www.mongodb.com

Frontend

Backend

CI / CD

Hosting

Authentication

APIs

Contributors โœจ

Thanks goes to these wonderful people (emoji key):


Mohammed Abdul Khader

๐Ÿ’ป ๐Ÿค”

Alex Marshall

๐Ÿ’ป โš ๏ธ ๐ŸŽจ

Stefan Huckschlag

๐Ÿ’ป ๐Ÿš‡๐ŸŽจ

This project follows the all-contributors specification. Contributions of any kind welcome!

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.