Carpool platform for students
Official website: unicovoit.fr
Services uptime monitor: https://status.unicovoit.fr
- 🇫🇷 Français
- 🇬🇧 English
- Features
- Contribute and Support
- Tech Stack
- Environment Variables
- Run Locally
- Deployment
- Authors
- Acknowledgements
- License
- Public API Reference
- 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 months in advance
- Light/dark mode toggle
UniCovoit doesn't handle payments
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 [email protected]
You can also support the project by donating to the GitHub Sponsorship Program.
To add your university, edit the file universities.ts in a new pull request.
You must follow the following format:
{
id: "<unique identifier>",
name: "<full name of university>",
country: "<country of the university>",
format: /^university address format$/
}
Build on existing entries.
Framework: Vuetify, Nuxt + Typescript
Server: Node (Typescript), Express
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>
DISCORD_SECRET=<your Discord token>
MONGO_USER=<username for Mongo>
MONGO_PASSWORD=<password for Mongo>
VERIFICATION_SECRET=<secret to use with Auth0 Action>
# Clone the project
git clone https://github.com/finxol/unicovoit
cd unicovoit
# Install dependencies
yarn install
# Start the server
yarn dev
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.
You should also have a .env' file with the environment variables stated previously, and a completed
.mongo.env` file.
# build and run with podman
yarn podman
# build the image
yarn podman:build
# kill the container, rebuild the image and run
yarn podman:rebuild
# run the image
yarn podman:run
# kill the container
yarn podman:kill
If you prefer using Docker, just replace podman with docker in the commands above.
For address auto-completion, an addok instance is used.
To setup your own, follow the steps detailed in this issue.
UniCovoit is still under development. Not all features might be implemented yet
- Vuetify frontend framework
- Nuxt.js
- Authentication by Auth0
- Distance and duration calculated by Mapbox
- Illustrations from Icons8
- Font Grammatika from Font Library
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.
GET /api/v1/universities
{
universities: [
{
id: string,
name: string,
country: string
}
]
}
GET /api/v1/trips
GET /api/v1/trips/petrol
GET /api/v1/users/profile/:id
All other API routes are only accessible by authenticated users