Skip to content

unicovoit/unicovoit

Repository files navigation

UniCovoit

Carpool platform for students

Website GitHub package.json version Docker Build Status

Security Headers GitHub license GitHub issues

GitHub Sponsors

Official deployment: unicovoit.com

Summary

Features

  • All accounts are verified as belonging to a student
  • Add and book trips between students
  • Mark your trip as recurring so that you don't have to add the same one every week
  • Add and book trips up to 3 weeks in advance
  • Light/dark mode toggle

UniCovoit doesn't handle payments

Contribute and Support

If you want to contribute to the project, feel free to open an issue or create a pull request.

If you have any feedback, you can reach me on Discord (finxol#8918), Twitter or via email on contact@finxol.io

You can also support the project by donating to the GitHub Sponsorship Program.

Tech Stack

Framework: Vuetify, Nuxt + Typescript

Server: Node (Typescript), Express

Environment Variables

To run this project, you will need to add the following environment variables to your .env file

AUTH0_CLIENTID=<your auth0 client ID>
AUTH0_DOMAIN=<your auth0 tenant domain>
MAPBOX_TOKEN=<your mapbox token>

Run Locally

Clone the project

  git clone https://github.com/finxol/unicovoit

Go to the project directory

  cd unicovoit

Install dependencies

  yarn install

Start the server

  yarn dev

Deployment

Before building, your need a .dockersecrets directory

.dockersecrets
├── auth0_clientid.txt
└── auth0_domain.txt

The files respectively contain the Auth0 Client ID and the Auth0 tenant domain.

To build and run with podman, run:

  yarn podman

If you prefer using Docker, just replace podman with docker in the commands above.

Authors

Acknowledgements

UniCovoit is still under development. Not all features might be implemented yet

License

Can Must Cannot
Commercial Use Disclose Source Liability
Distribution License and Copyright Notice Warranty
Modification Same License
Patent Use State Changes
Private Use

For more information, please read the LICENSE file, or go to Choose A License.

API Reference

Get all published trips

  GET /api/v1/trips

Get distance between two cities

  GET /api/v1/trips/distance
Parameter Type Description
from string Required. Name of the first city
to string Required. Name of the second city

Returns a json object containing the distace in kilometers and duration in minutes

{
    "distance": 0,
    "duration": 0
}

All other API routes are only accessible by authenticated users