jarlah / JourniPlan

JourniPlan is an open-source travel planner and micro journaling app built with Elixir and Phoenix LiveView. Plan your trip, track your expenses, and document your journey all in one place.
1 stars 0 forks source link

JourniPlan

JourniPlan is an open-source travel planner and micro journaling app that helps you organize and document your trips in one place.

Features

Built using Elixir and Phoenix LiveView, JourniPlan aims to provide a seamless and interactive experience for travelers looking to plan and preserve memories of their adventures.

ER diagram (WIP)

erDiagram
    USER {
        int user_id PK
        string email
        string hashed_password
    }
    ITINERARY {
        int itinerary_id PK
        string title
        string description
        int user_id FK
    }
    ACTIVITY {
        int activity_id PK
        string name
        string description
        datetime start_time
        datetime end_time
        int itinerary_id FK
    }
    JOURNAL_ENTRY {
        int journal_entry_id PK
        string title
        string body
        date entry_date
        int activity_id FK
        int itinerary_id FK
        int user_id FK
    }
    MEDIA {
        int media_id PK
        string media_type
        bytea media_blob
    }
    MEDIA_ITINERARY {
        int media_id PK, FK
        int itinerary_id PK, FK
    }
    MEDIA_ACTIVITY {
        int media_id PK, FK
        int activity_id PK, FK
    }
    MEDIA_JOURNAL_ENTRY {
        int media_id PK, FK
        int journal_entry_id PK, FK
    }

    ITINERARY ||--o{ MEDIA_ITINERARY : has
    MEDIA ||--o{ MEDIA_ITINERARY : includes
    ACTIVITY ||--o{ MEDIA_ACTIVITY : has
    MEDIA ||--o{ MEDIA_ACTIVITY : includes
    JOURNAL_ENTRY ||--o{ MEDIA_JOURNAL_ENTRY : has
    MEDIA ||--o{ MEDIA_JOURNAL_ENTRY : includes

    USER ||--o{ ITINERARY : owns
    USER ||--o{ JOURNAL_ENTRY : creates
    ITINERARY ||--o{ ACTIVITY : contains
    JOURNAL_ENTRY ||--o{ ACTIVITY : refers_to
    JOURNAL_ENTRY ||--o{ ITINERARY : belongs_to

Start server

To start your Phoenix server:

Now you can visit localhost:4000/itineraries from your browser.

Ready to run in production? Please check our deployment guides.

Learn more