{"id":19895071,"url":"https://github.com/abdelaz3r/forbidden_lands","last_synced_at":"2025-05-02T20:30:51.838Z","repository":{"id":189969439,"uuid":"585223872","full_name":"abdelaz3r/forbidden_lands","owner":"abdelaz3r","description":"Web companion for your Forbidden Lands journey","archived":false,"fork":false,"pushed_at":"2024-05-02T21:01:29.000Z","size":64632,"stargazers_count":13,"open_issues_count":5,"forks_count":4,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-07T05:11:13.596Z","etag":null,"topics":["elixir","forbidden-lands","rpg","rpg-text"],"latest_commit_sha":null,"homepage":"","language":"Elixir","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/abdelaz3r.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-01-04T16:21:15.000Z","updated_at":"2024-10-08T14:40:17.000Z","dependencies_parsed_at":null,"dependency_job_id":"15434ab1-6cc4-4433-a7f9-f97bf8d05722","html_url":"https://github.com/abdelaz3r/forbidden_lands","commit_stats":null,"previous_names":["abdelaz3r/forbidden_lands"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abdelaz3r%2Fforbidden_lands","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abdelaz3r%2Fforbidden_lands/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abdelaz3r%2Fforbidden_lands/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abdelaz3r%2Fforbidden_lands/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/abdelaz3r","download_url":"https://codeload.github.com/abdelaz3r/forbidden_lands/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252103979,"owners_count":21695396,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["elixir","forbidden-lands","rpg","rpg-text"],"created_at":"2024-11-12T18:35:32.092Z","updated_at":"2025-05-02T20:30:48.498Z","avatar_url":"https://github.com/abdelaz3r.png","language":"Elixir","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Forbidden Lands RPG Companion App\n\nWelcome to the Forbidden Lands RPG Companion App documentation!\n\nThis repository hosts a personal project aimed at enhancing your experience while playing the thrilling role-playing game [Forbidden Lands](https://freeleaguepublishing.com/en/games/forbidden-lands/). Whether you're a player or a Game Master (GM), this app is designed to enrich your sessions and streamline certain aspects of gameplay.\n\n# About the Project\n\nThis project is created with a passion for the Forbidden Lands universe. While it's not intended to be a fully-integrated GM companion, it serves as a valuable tool to aid GMs and players alike in various aspects of the game.\n\n## Demo access\n\nYou can find a demo instance at this address: [forbidden-lands-companion.fly.dev](https://forbidden-lands-companion.fly.dev/en/).\n\n## Contributions\n\nContributions to this project are more than welcome! If you're interested in adding your expertise and insights, please ensure that your contributions align with the project's guidelines.\n\n## Features\n\nDuring your Forbidden Lands RPG sessions:\n- Manage View for GMs:\n  - Keep track of game time (I implemented the custom Forbidden Lands calendar as described [here](https://www.darkforesttales.com/post/keeping-time-in-the-forbidden-lands)),\n  - Set the perfect ambiance with background music (music not included),\n  - Manage stronghold sheet,\n  - Manage stronghold resources with custom rules,\n  - Register group events.\n- Dashboard View for Players: For players, the app provides a wide map view, the ability to immerse themselves in the ambiance, and a clear way of the calendar. This view is ideally suited for projection using a beamer or a computer screen, making your game world come to life.\n\nBeyond the tabletop sessions:\n- Event Tracking: Easily record and keep track of events that unfold throughout your campaign. Stay organized and never miss a pivotal moment.\n- Event Browsing: Browse through past events, reminisce about your adventures, and use this feature as a reference for your ongoing gameplay.\n- Adventure Sharing: Share the story of your adventure to the world.\n\n# Installation\n\nThis project uses [Elixir](https://elixir-lang.org/) and the [web framework Phoenix/LiveView](https://www.phoenixframework.org/).\n\n## Minimal Setup\n\nTo get started, follow these steps:\n\n- Install dependencies with `mix deps.get`.\n- Create and migrate your database with `mix ecto.setup`. Make sure you have PostgreSQL installed and configured. Default configuration for the development environment can be found in `config/dev.exs`.\n- Start the Phoenix endpoint with `mix phx.server` or within IEx using `iex -S mix phx.server`.\n\nYou can access the app by visiting [`localhost:4000`](http://localhost:4000) in your browser.\n\n## Adding Music Playlists\n\nPlease note that due to copyright issues, no music files are provided in that repo. You can set up your own playlist:\n\n1. Create a `musics` folder within the `priv/static` directory.\n2. Inside the `musics` folder, create subdirectories for each playlist. The name of each subdirectory will be the name of the playlist.\n3. Place your mp3 files within these subdirectories to represent the music for each playlist.\n\nAfter setting up your playlist folders, run the following mix command to generate the `mood.txt` file:\n\n```bash\nmix fl.process_playlists --source [source_directory] --target [target_file]\n```\n\n## Accessing the Admin Panel\n\nDuring development, the admin username is `admin`, and the admin password is `1234`. You can modify these credentials in the `config/dev.exs` file as shown below:\n``` elixir\n# User and password for admin auth\nconfig :forbidden_lands,\n  username: \"admin\",\n  password: \"1234\"\n```\n\n# Production\n\nIf you intend to deploy the app, please refer to the [official Phoenix deployment guides](https://hexdocs.pm/phoenix/deployment.html).\n\nHowever, the app is already configured for fast deployment on [fly.io](https://fly.io/). An example `fly.toml` configuration file can be found.\n\n## Admin Panel Access in Production\n\nDuring deployment, you'll need to set environment variables to access the admin panel. Here's an example of how to do it for fly.io:\n``` bash\nfly secrets set ADMIN_USERNAME={some_user}\nfly secrets set ADMIN_PASSWORD={some_password}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fabdelaz3r%2Fforbidden_lands","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fabdelaz3r%2Fforbidden_lands","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fabdelaz3r%2Fforbidden_lands/lists"}