Commit Graph

55 Commits

Author SHA1 Message Date
Jonathan Bernard
7d7f2eed87 Re-organized into two submodules: service and uploader.
Moved all the existing service code into the `service` submodule.

Stubbed out project and GUI frame for the uploader. Idea is to have a GUI that
infers all the correct meta-data from media tag values and creates service,
songs, and performance records appropriately based on the tagged mp3/ogg files
of the performances.
2017-02-11 23:53:04 -06:00
Jonathan Bernard
a6a68a5320 Add song rank in performance. Use DbMigrate in tests.
* Add the song order in a service using `performances.rank` to indicate the
  relative position of each song within the service. The service page now
  respects this ranking.

* Update the tests to use DB Migrate to manage the database transitions.
2017-02-11 21:23:17 -06:00
Jonathan Bernard
200b69b960 Updated build to use git versioning and extract shell utilities. 2016-12-17 23:24:38 -06:00
Jonathan Bernard
e02b465ada Update elastic beanstalk config for new environment. 2016-12-17 21:55:24 -06:00
Jonathan Bernard
cdaa29f07d Release v2.5 2016-12-17 21:50:33 -06:00
Jonathan Bernard
5ce29aa86e apply from not working in Gradle 3. Moved helper script into main build script. 2016-12-17 21:48:42 -06:00
Jonathan Bernard
fc5f29eaed fixup 2016-12-17 21:48:42 -06:00
Jonathan Bernard
4d89e45c7b service.@date -> service.getLocalDate because direct field accessor isn't working properly anymore. 2016-12-17 21:48:42 -06:00
Jonathan Bernard
a132f6540c Update code and build for deployment to ElasticBeanstalk. 2016-12-17 21:48:30 -06:00
Jonathan Bernard
409469c624 Remove ElasticBeanstalk from .gitignore. 2016-12-17 13:34:30 -06:00
Jonathan Bernard
e7eb82ceb6 Update dependencies and code to play nice. 2016-12-17 13:31:24 -06:00
Jonathan Bernard
b3ad5016fb Add ElasticBeanstalk configuration files. 2016-12-17 13:24:32 -06:00
Jonathan Bernard
c89668031c Updated .gitignore for elastic beanstalkfiles. 2016-12-16 22:33:04 -06:00
Jonathan Bernard
62f68a25a5 Build missing task declaration 2016-07-15 17:08:33 -05:00
Jonathan Bernard
3b77006381 Fixed bug in NLSongsDB implementation. 2015-12-11 13:59:04 -06:00
Jonathan Bernard
5e81284220 Fixed artists split in DB layer. Services sorted most recent first. 2015-07-22 09:26:53 -05:00
Jonathan Bernard
0e16d42eaf Increment minor version number. New work belongs on v2.4 2015-05-12 20:52:49 -05:00
Jonathan Bernard
58b00cbdb0 Migrated source documentation to doc.jdb-labs.com. 2015-05-12 20:51:58 -05:00
Jonathan Bernard
f551165a82 Increment minor version number. New work belongs on v2.3 2015-04-14 15:48:49 -05:00
Jonathan Bernard
e89b2e0a02 Added service descriptions.
Pages now use service descriptions to describe services, falling back on the
service type's displayable value if no description is given.
2015-04-14 15:13:21 -05:00
Jonathan Bernard
c7bee5009a Continued work on API documentation. 2015-04-10 19:14:30 -05:00
Jonathan Bernard
cad957394e Fleahed out documentation. 2015-04-09 21:47:48 -05:00
Jonathan Bernard
8eb7918f7f Added favicon in ICO format. 2015-03-30 21:07:17 -05:00
Jonathan Bernard
b7970f6af8 Increment minor version so new work is on v2.2 2015-03-30 02:17:49 -05:00
Jonathan Bernard
4580709d29 Version 2.1: Default to MP3s instead of OGGs for song files. 2015-03-30 02:15:06 -05:00
Jonathan Bernard
2bf0412629 Increment minor version so new work is on v2.1. 2015-03-23 04:16:09 -05:00
Jonathan Bernard
5224804cda Release version 2.0. 2015-03-23 04:11:21 -05:00
Jonathan Bernard
49178b44a3 Started working on API documentation. 2015-03-23 04:10:55 -05:00
Jonathan Bernard
da3cf13267 Finished out UI. 2015-03-23 04:10:36 -05:00
Jonathan Bernard
207e86de81 Fixed missing permissions on mutable Song REST resources. 2015-03-23 04:10:01 -05:00
Jonathan Bernard
bc02b45712 Fixed versioning release versions, brought test web.xml up-to-date. 2015-03-23 04:09:28 -05:00
Jonathan Bernard
a83d8e4dd8 Added another context configuration file. Made the datasource config property more obvious. 2015-03-23 04:08:54 -05:00
Jonathan Bernard
fb722a898e Fixed a regression based on the ServiceType toString implementation.
The DB code relied on the ServiceType toString matching the enum name. Moved
the displayable value to a dedicated field and reference it in the UI.
2015-03-23 04:04:58 -05:00
Jonathan Bernard
73be769483 Added individual song and service pages. 2015-03-17 22:30:55 -05:00
Jonathan Bernard
5bcd4d91c3 Finished initial implementation of songs and services page. 2015-03-17 19:46:50 -05:00
Jonathan Bernard
29f00f806b Restructured project to version builds and move CSS into src.
* Added a new version implementation to the build. The build task now triggers
  an increment to the build version.
* Reconfigured the war plugin to filter source files and replace the @version@
  token with the project version and to rename css and js files to include the
  version number in the filename.
2015-03-17 18:15:13 -05:00
Jonathan Bernard
f6f3222855 Started working on front-end MVC (WIP). 2015-03-17 14:40:54 -05:00
Jonathan Bernard
b6536c0794 Added test cases and test data for the database layer. 2015-03-07 14:20:06 -06:00
Jonathan Bernard
c323df219e Fixed LIKE queries in DB layer. 2015-03-07 14:18:49 -06:00
Jonathan Bernard
e13bf171b1 Added user login endpoint. 2015-03-07 14:18:05 -06:00
Jonathan Bernard
66cd8f579a Added equals implementations on model classes. 2015-03-07 14:16:52 -06:00
Jonathan Bernard
f55cabe242 Update migration script to use the new database properties file. 2015-03-05 14:22:11 -06:00
Jonathan Bernard
4f247cba37 Fixed bug in buildToken and buildUser. 2015-03-03 16:29:15 -06:00
Jonathan Bernard
d84ec06afb Started working on an embeddable test version of the service for unit testing. 2015-03-03 16:28:38 -06:00
Jonathan Bernard
6ed3bd399b Started working on the front-end. 2015-03-02 21:27:05 -06:00
Jonathan Bernard
43ba9216e5 Further API implmentation. 2015-03-02 21:26:06 -06:00
Jonathan Bernard
dc5cb78320 Added support for cross-origin requests (CORS). 2015-03-02 21:24:58 -06:00
Jonathan Bernard
83a0f7275c Implemented token-based API authentication.
Replaced the ApiKey concept with ephemeral tokens. Users and apps obtain a
token by authenticating the user credentials (to be implemented). The service
then generates a temporary token that is stored by the client and sent with
every request using the `Authorization-Token` header. The server verifies this
token to recognize and authenticate the request. With an authenticated user,
the server can use the user's role to authorize requests.

This implementation uses JSR 250 SecurityContext and security annotations.
2015-03-02 21:20:25 -06:00
Jonathan Bernard
38e0432c1e Updated build file to handle a local deployment and Jetty instance. 2015-03-02 20:36:28 -06:00
Jonathan Bernard
37208fa381 Added web deployment description, context configuration, service, and song endpoint implementations. 2015-02-20 17:28:42 -06:00