Browse Source

Add initial README file

feature/search
Bèr Kessels 10 months ago
parent
commit
e140fe78f3
1 changed files with 101 additions and 0 deletions
  1. 101
    0
      README.md

+ 101
- 0
README.md View File

@@ -0,0 +1,101 @@
1
+# Hours
2
+
3
+RESTful JSON API for opening hours
4
+
5
+## Getting Started
6
+
7
+TODO: Finish Make Install
8
+TODO: Provide alternative in docker
9
+
10
+### Prerequisites
11
+
12
+A Linux machine that supports apt, preferably a recent Ubuntu LTS.
13
+
14
+`make install` should ensure all dependencies are installed.
15
+
16
+For machines that do not support Make, consider getting another OS, if
17
+anything, as a virtual machine.
18
+
19
+For machines that do not have apt, we are open to help on making the
20
+`Makefile` more portable. Pull requests, suggestions and help is
21
+welcome. The ideal situation would be where all common POSIX compliant
22
+systems, will be able to run the Makefile and install dependencies.
23
+
24
+### Installing
25
+
26
+Install all dependencies with 
27
+```bash
28
+make install
29
+```
30
+## Running the tests
31
+
32
+Running the tests with
33
+
34
+```bash
35
+make test
36
+```
37
+
38
+### Integration tests
39
+
40
+*Integration tests*, or *end to end* tests, are tests that run
41
+expectations on the full application. It sets up, seeds and connects to
42
+a database and then makes requests through the REST HTTP interface.
43
+
44
+These are slow, and will, nor cannot, cover all edge-cases, paths and
45
+exceptions. They cover the happy path, common situations and important
46
+features.
47
+
48
+Currently ran inside the entire test-suite. If the suite grows too large,
49
+we will extract these and make them runnable separately.
50
+
51
+### Unit tests
52
+
53
+*The unit tests* isolate a *module* and test that in isolation.
54
+Unfortunately, JavaScript, nor node, nor its ecosystem of packages are
55
+very clean and test-oriented. Many features, packages or libraries will
56
+inject their behaviour in the global namespace, making it very hard,
57
+sometimes impossible to mock or stub.
58
+
59
+There are quite some tests, but not near as much as I would like.
60
+
61
+## Deployment
62
+
63
+Deploying depends on your environment. Anywhere where NodeJS is
64
+supported will probably run this software.
65
+
66
+TODO: describe what config to change in order to deploy to your servers.
67
+
68
+```bash
69
+make deploy
70
+```
71
+
72
+## Built With
73
+
74
+* [NodeJS](https://nodejs.org) - NodeJS
75
+* [express](https://expressjs.com/) - Express web framework
76
+* [open street map](https://openstreetmap.org) - Data source
77
+* [imposm](https://imposm.org/) - imposm3 to import Open Street Map data
78
+    into a postgresql database.
79
+
80
+## Contributing
81
+
82
+TODO: introduce CONTRIBUTING.md
83
+
84
+## Versioning
85
+
86
+We use [SemVer](http://semver.org/) for versioning. For the versions
87
+available, see the [release-tags on this
88
+repository](https://git.webschuur.com/placebazaar/hours/tags?utf8=%E2%9C%93&search=v)
89
+
90
+## Authors
91
+
92
+* **Bèr Kessels**
93
+
94
+## License
95
+
96
+This project is licensed under the MIT License - see the [LICENSE.md](LICENSE.md) file for details
97
+
98
+## Acknowledgments
99
+
100
+TODO: describe YoHours, openstreetmap, imposm, opening_hours etc.
101
+

Loading…
Cancel
Save