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.
For the fully deployed website, click here 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.
Follow these steps to get a local copy of Itinero up and running:
Ensure that you have the following installed:
- Node.js (version 18 or higher) - Download here
- PostgreSQL - Download here
- npm or yarn (package manager)
-
Clone the repository:
git clone https://github.com/rieljasperapos/Itinero.git -
Navigate to the backend directory:
cd server -
Install the dependencies:
npm install -
Set up environment variables by copying the
.env.examplefile to.env:cp .env.example .envThen, open the newly created
.envfile and update the following variables as needed. Do NOT edit nor USE the.env.examplefile. -
Set up the database:
- For guidance on setting up PostgreSQL using pgAdmin, refer to the pgAdmin documentation.
- For DBeaver, you can check the DBeaver documentation.
-
Run Prisma migrations to set up the database schema:
npx prisma migrate dev -
Generate the Prisma Client to ensure it reflects your database schema:
npx prisma generate -
Start the server:
npm run dev
-
Navigate to the
clientdirectory:cd client -
Install the dependencies:
npm install -
Set up environment variables by copying the
.env.examplefile to.env.local:cp .env.example .env.localThen, 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.
-
-
To obtain your Geocoder API key:
- Visit 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_KEYfield in your.env.localfile.
-
Start the development server:
npm run dev
- 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)
