Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/rieljasperapos/itinero
Travel itinerary planner
https://github.com/rieljasperapos/itinero
Last synced: 15 days ago
JSON representation
Travel itinerary planner
- Host: GitHub
- URL: https://github.com/rieljasperapos/itinero
- Owner: rieljasperapos
- Created: 2024-10-18T08:36:49.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2024-12-14T19:47:13.000Z (22 days ago)
- Last Synced: 2024-12-14T20:26:41.363Z (22 days ago)
- Language: TypeScript
- Homepage:
- Size: 37.2 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: .github/README.md
Awesome Lists containing this project
README
# Itinero
![](../images/itinero-banner.png)
## What is `Itinero`?
`Itinero` is a fully fleshed-out travel itinerary planner. Itinero is capable of the following features:
- **Itineraries and Activities**: Users can create and modify itineraries and activities (e.g. notes, destinations).
- **Collaboration**: Users are able to collaborate across itineraries, provided they are invited.
- **Notifications**: Users will be notified on this page whether they are invited as a collaborator or viewer for an itinerary.
- **Map Integration**: to visualize addresses of activities.## Deployed Website
For the fully deployed website, [click here](https://travel-itinero.vercel.app/) or paste this into your browser's URL:
```
https://travel-itinero.vercel.app/
```
*If you are having issues with the website, please try and use another browser.*## Installation
Follow these steps to get a local copy of **Itinero** up and running:
### Table of Contents
- [Prerequisites](#prerequisites)
- [Backend Setup and Database Setup](#backend-setup-and-database-setup)
- [Frontend Setup](#frontend-setup)
- [Troubleshooting](#troubleshooting)### Prerequisites
Ensure that you have the following installed:
- **Node.js** (version 18 or higher) - [Download here](https://nodejs.org/)
- **PostgreSQL** - [Download here](https://www.postgresql.org/download/)
- **npm** or **yarn** (package manager)### Backend Setup and Database Setup
1. Clone the repository:
```
git clone https://github.com/rieljasperapos/Itinero.git
```2. Navigate to the *backend* directory:
```
cd server
```3. Install the dependencies:
```
npm install
```4. Set up environment variables by copying the `.env.example` file to `.env`:
```
cp .env.example .env
```
Then, open the newly created `.env` file and update the following variables as needed. ***Do NOT edit nor USE the `.env.example` file***.5. **Set up the database**:
- For guidance on setting up PostgreSQL using pgAdmin, refer to the [pgAdmin documentation](https://www.pgadmin.org/docs/).
- For DBeaver, you can check the [DBeaver documentation](https://dbeaver.com/docs/).6. Run Prisma migrations to set up the database schema:
```
npx prisma migrate dev
```7. Generate the Prisma Client to ensure it reflects your database schema:
```
npx prisma generate
```8. Start the server:
```
npm run dev
```### Frontend Setup
1. **Navigate to the `client` directory:**
```
cd client
```2. **Install the dependencies:**
```
npm install
```3. **Set up environment variables by copying the `.env.example` file to `.env.local`:**
```
cp .env.example .env.local
```
Then, open the newly created `.env.local`. file and update the following variables as needed:- **AUTH_SECRET**: Your secret key for authentication.
- **NEXT_PUBLIC_API_BASE_URL**: This is your **server URL** that will be used as the base for all API requests.
- **NEXT_PUBLIC_GEOCODER_KEY**: Your Geocoder API key.4. **To obtain your Geocoder API key:**
- Visit [opencagedata.com](https://opencagedata.com) and create an account.
- After registering, navigate to the dashboard to generate your API key.
- Copy the generated API key and paste it into the `NEXT_PUBLIC_GEOCODER_KEY` field in your `.env.local` file.5. **Start the development server:**
```
npm run dev
```### Troubleshooting
- If you encounter issues with database connections, ensure that PostgreSQL is running and that your connection string is correct.
- For any errors related to Prisma migrations, check your schema for any inconsistencies.
- For any issues navigating the website, try to use another browser (e.g. Edge, Firefox, Chrome)