Skip to content

Latest commit

 

History

2,750 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Panoptikum

Panoptikum (or short Pan) is a webapplication written in Phoenix that represents a podcast discovery and community website.

It is licensed under the AGPL license. The project website with more information on the project can be found at https://www.panoptikum.social If you are interested and want to get in touch, write an email to Stefan.

Setup

📋 Prerequirements

📦 Install dependencies

  • Install Elixir's dependencies with mix deps.get
  • Install Node.js dependencies with npm install inside the assets folder

🛠 Configuration

  • Dev works out of the box with no configuration — config/runtime.exs falls back to sensible local defaults (Postgres postgres/postgres, database pan_dev) if you don't set any env vars. Only set PAN_DB_USERNAME / PAN_DB_PASSWORD / PAN_DB_DATABASE / PAN_DB_HOSTNAME if your local Postgres needs different credentials.

📚 Database and demo data

  • Setup your database with mix ecto.setup
  • Import demo data
    • Uncompress materials/pan_dev.sql.gz
    • Import data with psql pan_dev < pan_dev.sql inside the materials folder
    • The dump already includes an admin user, username admin and password changeme — no seeding step needed (priv/repo/seeds.exs is currently just an empty template)

⏯ Run locally

  • Start Phoenix endpoint with mix phx.server
  • Now you can visit localhost:4000 from your browser.
  • Login as Admin using username admin and password changeme

🌡 Testing

  • Run tests with mix test

🐳 QA environment

To stand up a disposable QA deployment on a separate server via Docker Compose, see DOCKER.md.

✨ Bonus

  • Sending a Test Mail from the console Pan.Email.login_link_html_email("mytoken", "my-email@example.com") |> Pan.Mailer.deliver()
  • To rebuild the search index login as admin and visit localhost:4000/admin/search/reset_all
  • To attach to a server session: /var/phoenix/pan/bin/pan remote and then, for example PanWeb.Podcast.get_deprecated(10) to probe deprecated podcasts and get delete/unretire recommendations

🙏 Sitting on the shoulders of giants

Panoptikum is only possible because of an enormous amount of open-source work by others. Thank you.

Server stack

Development stack

About

The podcast showcase & community / Phoenix based web application

Topics

Resources

Code of conduct

Stars

39 stars

Watchers

5 watching

Forks

Used by

Contributors

Languages