We are
- upgrading to the latest version of Phoenix
- switching from Bootstrap + Bootflat to Tailwind.css
- switching from jQuery to Alpine.js
- switching for certain actions from MVC to LiveView
- switching from master to main branch
Currently the master branch is the one that is still used in production. This branch is work in progress!
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.
- Make sure you have Elixir installed.
- Make sure you have Node.js installed.
- Make sure you have PostgreSQL installed and running.
- Make sure you have ManticoreSearch installed and running.
- Install Elixir's dependencies with
mix deps.get
- Install Node.js dependencies with
npm install
inside the assets folder
- Copy
config/dev.secret.exs.example
toconfig/dev.secret.exs
and insert your own data - Copy
config/prod.secret.exs.example
toconfig/prod.secret.exs
and insert your own 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 - Seed an admin user with
mix run priv/repo/seeds.exs
that has the credentials useradmin
and passwordchangeme
- Uncompress
- Start Phoenix endpoint with
mix phx.server
- Now you can visit
localhost:4000
from your browser. - Login as Admin using username
admin
and passwordchangeme
- Run tests with
mix test
- Sending a Test Mail from the console
Pan.Email.login_link_html_email("mytoken", "[email protected]") |> Pan.Mailer.deliver()
- To rebuilt the search index login as
admin
and visitlocalhost:4000/admin/search/push_all