From 9540ae05751d21a31532fdffec9509f4eaa785a3 Mon Sep 17 00:00:00 2001 From: Simon Brooke Date: Thu, 16 Mar 2017 09:00:39 +0000 Subject: [PATCH] Added collaboration stuff to README --- README.md | 51 +++++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 45 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 5900935..82cece5 100644 --- a/README.md +++ b/README.md @@ -38,12 +38,6 @@ You'll also need to create your own local copy of *profiles.clj*, which should c Where *username* is the username required to access the database, and *thisisnotsecure* is the password which authenticates that username. -## Further Reading - -If you're thinking of joining in development on this I'd strongly recommend you get hold of a copy of [Dmitry Sotnikov](https://github.com/yogthos)'s [Web Development with Clojure, Second Edition](https://pragprog.com/book/dswdcloj2/web-development-with-clojure-second-edition). - -You should also read the [User-Oriented Specification](doc/specification/userspec.md) and any other documentation which appears under the *doc/specification* hierarchy. - ## Running To start a web server for the application, run: @@ -58,6 +52,51 @@ as above; in the other, run lein figwheel +## Working on this project + +You should get the [ZenHub](https://github.com/integrations/zenhub) plug-in for your favourite browser; I use ZenHub for project management, and you (and I) will find collaborating much easier if you do. To join in + +1. Clone the project from [my repository](https://github.com/simon-brooke/youyesyet); +2. Visit the [kanban board](https://github.com/simon-brooke/youyesyet#boards?repos=70809242) and choose an issue you'd like to work on; +3. Assign that issue to yourself and move it into the 'in progress' column; +4. Use gitflow: start a new feature; +5. Work on the issue; +6. When you are satisfied with your work, commit it to your repository in your feature branch; +7. Submit a pull request and move the issue to the 'QA/Review' column on the kanban board; +8. If your work works, I'll integrate it into the develop branch, which you can then pull; +9. Rinse and repeat! + +Obviously I'd appreciate it if you'd [mail me](mailto:simon@journeyman.cc) to introduce yourself, but there's no need to do so. + +Finally, if you take a ticket and are not able to finish it, please + +1. mail me to say so; +2. move the issue back to the 'backlog' column on the kanban board. + +And *many thanks*! + +## More about tooling + +Note that all tools recommended in this document are free for non-commercial use; not all are open source. + +### Editors/IDEs + +I (Simon) use, like and recommend [LightTable](http://lighttable.com/) as my editor; I used to use Emacs, and there is excellent Clojure tooling for Emacs, but these days Emacs ways of working seem just too far from everything else to be comfortable to me. [NightCode](https://sekao.net/nightcode/) is a lighter-weight Clojure IDE which you may like. There's also [Cursive](https://cursive-ide.com/) but it isn't free and I haven't tried it. + +### Git + +I'm currently using [GitKraken](https://www.gitkraken.com/), on Linux, Windows, and Mac. Like so many things it works best on Linux, but it's good on both other platforms. However, I confess that although I like the ability to easily view the whole structure of the git repository, I tend to drop back to the command line if I'm doing anything tricky with Git. + +### Database + +The database is [Postgres](https://www.postgresql.org/). I have no plans even to support anything else; I don't feel we have time to mess about. However, if someone wants to fork the code and implement a different database, that's up to them. I'm afraid I do all database stuff from the command line; [there are graphical tools for Postgres](https://wiki.postgresql.org/wiki/Community_Guide_to_PostgreSQL_GUI_Tools) but personally I've never found graphical tools for databases much use. + +## Further Reading + +If you're thinking of joining in development on this I'd strongly recommend you get hold of a copy of [Dmitry Sotnikov](https://github.com/yogthos)'s [Web Development with Clojure, Second Edition](https://pragprog.com/book/dswdcloj2/web-development-with-clojure-second-edition). + +You should also read the [User-Oriented Specification](doc/specification/userspec.md) and any other documentation which appears under the *doc/specification* hierarchy. + ## License Copyright © 2016 Simon Brooke for the Radical Independence Campaign.