1
1
mirror of https://github.com/qfpl/applied-fp-course.git synced 2024-11-30 02:14:01 +03:00
Commit Graph

39 Commits

Author SHA1 Message Date
Sean Chalmers
bfa7c5511c Fixed typo in PostgreSQL module 2017-12-13 17:23:47 +10:00
Andrew McCluskey
4af4c3c845 Level05 tweaks 2017-10-05 05:38:50 +00:00
Sean Chalmers
94711343b6 modFieldLabel in level05+ is 'almost' just the identity.
But that was largely due to missing field prefixes in the Comment record for
that level. Field prefixes added back in and added some doctests and changed the
wording for that section to explain a bit more of what is going on.
2017-10-05 14:35:39 +10:00
Sean Chalmers
59a516d481 Updated DB for more clarity about withTable.
Added doctests and a shout out to what is going on with "$$tablename$$" in the
``withTable`` function.

Updated the level04 tests file to be a bit more defined and provide an example
of a test that Hspec.Wai lets you write. Information was very thin on the ground
in that file so it would have been too difficult without assistance.

Provided a bit more information about cool things that ``ghcid`` can do that I
didn't know about. :D

Fixes #9, #7, #5
2017-10-05 09:18:18 +10:00
Sean Chalmers
83b954fb5d Update SQL Injection Risk Comment.
The application only kinda-sorta has an SQL injection risk given that the config
has to be compromised and the application restarted to load the new config. Even
in a learning application like this one it's worth mentioning but still going to
be far from your biggest problem if someone has that level of access to your
servers.

Fixes #8
2017-10-05 08:53:25 +10:00
Sean Chalmers
418ce19e02 Overhauled nix file setup to be more like the other QFPL projects.
- Regenerated the individual nix files.
- Removed the shell.nix files

Just running ``$ nix-build`` in levels greater than 2 currently
doesn't succeed, still working on this. The nix-shell environments
work as expected for all levels.
2017-09-18 10:14:29 +10:00
Sean Chalmers
7b5ca8c97a Image now loads via HTTPS.
Image link in README should no longer trigger 'insecure content' warnings,
the link was reading from a non-HTTPS source.

Other rewordings and minor refactors
2017-09-14 14:01:47 +10:00
Sean Chalmers
eae7f839d5 Removes a function that was just constructors
Fixes #2
2017-09-12 15:42:07 +10:00
Sean Chalmers
9bab205678 Merge branch 'master' of gitlab.com:qfpl/applied-fp-course 2017-09-12 13:41:26 +10:00
Sean Chalmers
4401cd65c9 Added -fwarn-missing-import-lists to GHC options. Fixed resulting errors 2017-09-12 13:28:27 +10:00
Tony Morris
5666f74aa1 update copyright notice 2017-09-12 11:51:26 +10:00
Tony Morris
ad0208776e LICENSE -> LICENCE 2017-09-12 11:47:41 +10:00
Sean Chalmers
00e02a3f9d Rebuilt Conf File Read Handling
Made the error management for loading the JSON config file work as one might
expect it should. Expanded the error reporting expectations to include specific
file reading and JSON decoding errors.

The difficulties that will be had in handling the multiple either values will
motivate latter sections RE ExceptT (EitherT) transformers. However there is
nothing here that should be beyond people that do not know how transformers
work.

Added more doctests to the different moving parts to make things a bit clearer.
Added doctests to the cabal files and included a 'doctests.hs' to the tests
section.

default.nix files have been updated with the bonus dependency.
2017-09-12 11:21:27 +10:00
Sean Chalmers
ec1bb07dae Add guidance about handling requests without persistent storage.
There is no persistent storage in the application by the time we're expecting
students to write ``Response`` handling functions. So add some more guidance
that we only expect placeholder values to be used, this wasn't sufficiently
clear. Fixes #3

Updated the latter placeholder values to match the guidance offered, for
consistency.

Updated the configuration ``helloMsg`` value and some of the tests to be a bit
more sensible, even if only a little.
2017-09-11 10:29:56 +10:00
Sean Chalmers
71a5c2f275 Issue fixes.
Reworded ``Error`` blurb to direct people to try to write other functions and
see what errors are needed. Fixes #1

Changed the ``Port`` type to ``Word16`` to be more precise about what values we
allow for a port number. Add a helper function to take a ``Conf`` to the ``Int``
value that Wai requires. Fixes #4
2017-09-11 09:46:17 +10:00
Sean Chalmers
0dbad01d36 Removed some unnecessary comments/code 2017-09-06 09:35:33 +10:00
Sean Chalmers
b0f95deae9 Fixed a bug, reworded a bit, refactored a bit 2017-09-06 09:19:49 +10:00
Sean Chalmers
96a81b095a Formatting tweaks 2017-09-05 16:41:30 +10:00
Sean Chalmers
934f63497d Restructure part of the Conf.hs to provide more to do and with added guidance 2017-09-05 16:36:42 +10:00
Sean Chalmers
dc42b2091f Wording/formatting updates 2017-09-05 16:13:38 +10:00
Sean Chalmers
b69770bdbc Name changes to Applied name.
Wording and phrasing updates. Some functions changed around a bit to
be slightly less 'weird'.
2017-09-05 13:53:05 +10:00
Sean Chalmers
d59af985cb Updated layout of cabal files. Turned off some warnings for unused matches 2017-09-04 11:35:33 +10:00
Sean Chalmers
0aa03de8f1 Typo fixes, word changes to reduce the silly. 2017-09-04 11:04:52 +10:00
Sean Chalmers
58b7b7b575 Use correct content-type header.
The ContentType header text for JSON was incorrect as 'text/json',
and it has been updated to 'application/json'.
2017-09-04 10:41:45 +10:00
Sean Chalmers
942d093011 Formatting Adjustments
Just making things consistent across the various levels.
2017-09-04 10:20:31 +10:00
Sean Chalmers
05d9ce923d Updated Response Builder Functions
Changed up the Response builder functions to be consistent with
the need to pass in the ContentType when constructing the response.
2017-09-04 09:29:38 +10:00
Sean Chalmers
a16b8d5849 All projects now compile without error. Certain warnings have been suppressed at a module level. Some types have been added back in to grease the wheels of getting underway 2017-09-01 14:27:41 +10:00
Sean Chalmers
7ee4a56bbe Updated ghc-options to remove -Werror, update to match options used by original fp-course 2017-09-01 11:26:26 +10:00
Sean Chalmers
f41ee50c75 change changelog files to lowercase 2017-09-01 11:17:26 +10:00
Sean Chalmers
30df1c9252 Banishing some words.
'Simply' and 'Just' are banned from instructional documentation, imo. Often, for
the people using these exercises, things are rarely either.
2017-08-31 15:39:58 +10:00
Sean Chalmers
86fc64c3dd Add some more guidance.
Added readme files to the individual exercises to help point people in the right
direction when they get started. Probably more useful to the people that are
wanting to try this by themselves.
2017-08-31 11:31:08 +10:00
Sean Chalmers
ff4aa08822 Restructure to something more sensible
Also now it'll be consistent across levels 5-7.

Wording fixes, some more code stubbed out to be filled in by students.
2017-08-24 15:45:57 +10:00
Sean Chalmers
cccc88a650 Forgot the DbComment module.
Not sure at the moment how to weave that into the storyline for level05
and added some more explanation for level06
2017-08-24 14:53:08 +10:00
Sean Chalmers
d901dedf24 Questions, questions... 2017-08-23 17:14:29 +10:00
Sean Chalmers
c37183cdf2 Wording Updates
Removed a silly usage of `either` and fixed up a typo and some other
phrasing changes.
2017-08-22 09:14:19 +10:00
Sean Chalmers
746d73d902 Typo fix 2017-08-17 11:37:51 +10:00
Sean Chalmers
767256ebd4 Added more description around the ReaderT / AppM
More work needed to explain things a little better, not sure I've
made a good case for motivating the use of ReaderT or actually
explained it that well.
2017-08-17 11:31:46 +10:00
Sean Chalmers
e06eae6695 Tests weren't passing for level06
Tests now pass for level06

need more tests
2017-08-17 08:54:02 +10:00
Sean Chalmers
3f3ac5b108 Ugh, ReaderT lesson added.
Not sure I like it very much, the work continues.
2017-08-15 16:42:24 +10:00