Podplay.me - The Multiplatform Podcast Player
v0.1 - Beta 1: The first beta iteration.
- Site uses absurd amount of processing power due to the lack of optimization in the AudioJS library.
- Navigation sometimes flawed and pushes incorrect states. For example, hitting enter on the search bar (or clicking 'VIEW ALL') too quickly after typing results in the search page being overridden by a quicksearch page (i.e., index: /).
- Audioplayer will often reset the current position on load, skipping, or pausing. This is due to the general terribleness of AudioJS.
- Long podcast titles extend off tooltip container.
- Keyboard shortcuts don't work after multiple session changes (or logging in and out in the same session).
- Missing or incorrect feed descriptions, genres, episodes, etc. due to non- standard data formats provided by podcast author.
- Incorrect episode times due to a very non-thorough time-parsing function, dealing with different formats of time data as provided by podcast authors. (e.g., "1:30:00" might also be "5400" or "01:30:00" or "90:00")
- Please report any unknown issues to dzimmelman@gmail.com or ianmcgaunn@gmail.com.
The following is planned for the next baseline: v0.2 - Beta 2.
- Fix known Beta 1 bugs, listed above.
- Add Podcast Feed caching on the backend to save episode data.
- Add email verification process to registration.
- Implement openSSL encryption for form data.
- Remove AudioJS library entirely from project, replacing with customized javascript player.
- Add more responsive podcast favorite events, so newly favorited podcasts immediately display as such.
For future releases (may change at any time):
- Allow users to susbscribe to new release notifications for their favorite feeds.
- Allow users to rate podcasts.
- Create about megatron for landing page.
- Record user data and implement suggested podcast feature based on user likes/dislikes.
- Allow registered users to view podcast statistical data.
- Allow users to donate directly to the podcast they are listening to.
- Optimize page layout for small-display devices (i.e., smart phones).
- Change license from open-source to closed-source.
/
app.js
- NodeJS Express Application filegulpfile.js
- NodeJS Server managerpackage.json
- List of project dependenciesevents/*
- Socket.IO Event Routes (as included in app.js)lib/*
- Custom NodeJS librariespublic/
- Public resources (accessible to client)-
audiojs/*
- AudioJS plugin
-
javascripts/*
- Local scripts
-
stylesheets/*
- Local style sheets
routes/*
- URL request handlers (as included in app.js)views/*
- Jade templates used to generate the HTML pages for client views.
- Clone The Repository
git clone https://github.com/zimmed/podplay.git
- Change directories to newly cloned tree
cd podplay
- Install required node libraries
npm install
- Verify (or modify) the port used for the server in
/gulpfile.js
- Lint, generate stylesheets and run server
gulp
(orsudo gulp
for port 80).
The clientside javascript code in podplay can be delinted using JSLint
with gulp lint
To start a node HTTP server running the podplay express application
run gulp serve
On OSX run mongod --config /usr/local/etc/mongod.conf
On Linux use service start mongod