Newbie looking for some code examples to review before embarking on my project.
I am beginning a web application which will incorporate Scala/Play, Slick/PostgreSQL, and principally expose REST/JSON APIs to a web application (considering using React). I am familiar with getting a REST API up and running using Django REST framework, but Scala & Play are new to me (along with FP approaches). That being said, I have now read several books on Scala & Play, so am on my way to getting up to speed. Bit by bit.
Before starting the initial code for my project, I would like to review some existing code which implements this type of functionality, as most of the ecosystem is unfamiliar to me - and I don't want to reinvent the wheel... poorly.
Can anyone recommend (1) a well-thought out, and generally vetted Activator template or (2) more preferably a decently mature GitHub project incorporating the above technologies & approaches. Any examples - even those which are close/related - would be enormously helpful. As you can imagine, even with Activator templates, there are lots to choose from, but from a beginner's perspective, difficult to evaluate which is appropriate to start from, or to "crib" from when planning the project. I have seen some vanilla ones which are quite basic, and some complex ones with the kitchen sink. I was thinking an actual project would be useful to see, in addition to a "starting" template.
-----
Background on the project, for those interested (and, so I can use less abstract examples when discussing later):
It's a CRUD web application, to generally show the implementation status of various products & features across a large group of web sites and applications. Looks a bit like a feature-comparison chart, with some additional grouping & metadata — Mostly the data will be presented as client-side dynamic tables (sortable, filterable) populated from JSON data from the Play-provided REST endpoints. The datastore would be PostgreSQL (probably 10-15 interrelated tables), likely using Slick. I have most of the databases already modeled on a development database.
Some of the models involved would be:
- Company (about 50-100) --> Business Units (3-5 per company) --> Applications/Sites (5-10 per business unit)
- Vendor (30-50) --> Product Suite (2-5 per vendor) --> Products (2-5 per suite) --> Features (5-10 per product)
An example of data shown in a dynamic table would be the following:
* Products & features (grouped by product & product suite) available to a company (Columns of table)
* List of applications/sites in table rows (grouped by business unit) (Rows of the table)
* The individual cells would visually indicate enablement status (e.g. gray/blank = "not implemented", green = "successfully enabled"; yellow = "partially implemented", orange = "implemented, but with issues", red = "implemented, but broken", etc)
* Filters/search - client-side checkboxes or a search field, where the user the client side rapidly narrow down to an individual application or product
* Data: (1) a JSON blob showing all products available to the company (allowing the client-side to iterate through it); (2) a big JSON blog containing each application/site for a company, and within each application/site, would be a listing of all products/features enabled for that site, along with the implementation status.
The first swing will be getting the backend up and running (the data & APIs). The next swing will be the actual client code itself. While outside the scope of this discussion group, if anyone has examples of React-powered dynamic tables, using structured data from a REST API, I would be thankful for any good examples shared of that too.
Many thanks,
Jonathan