This is a membership system for Sveriges Hundföretagare, a nation-wide organization in Sweden for ethical dog-associates. http://hitta.sverigeshundforetagare.se/
The main project documentation is on the page for this project at the AgileVentures site.
This is a project of AgileVentures, a non-profit organization dedicated to crowdsourced learning and project development.
-
Read the Requirements and Dependencies, and Installation sections below. Be sure to read the CONTRIBUTING document. That describes how we work: where and how we track user stories, issues, bugs, etc. It describes how we work with GitHub, our style standards, general workflow, etc. We do try to document things here in the GitHub wiki. (And we always appreciate feedback on what we can improve.)
-
We're often asked: "The system is for people in Sweden. Do I have to speak Swedish?"
Nope. The development takes place in English. (So you do need to speak English.) The system uses Rails' I18n and so can be displayed in either Swedish or English. You don't have to be dog owner, either.
This project runs on a Ruby on Rails stack with postgreSQL as the repository.
- ruby - check Gemfile for current version (2.5.1 as of November, 2018)
- rails - check Gemfile for current version (5.2.1 as of November, 2018)
- Postgresql DB version 11
- imagemagick https://www.imagemagick.org
Required for integration tests (cucumber + capybara):
- chromedriver 2.32.498537 or higher https://sites.google.com/a/chromium.org/chromedriver/downloads
NOTE: The developer (you) don't need to download chromedriver explicitly. We use a gem (webdrivers) that downloads (and updates) chromedriver when needed.
Forking the project creates a copy of the code base which you can modify without affecting the main code base. Once you are satisfied with your changes, you can make a pull request to the main repository.
Visit the project homepage on GitHub at: https://github.com/AgileVentures/shf-project
Fork the project by clicking the Fork button on the top-right hand corner.
Now that you have a fork of the project, copy the URL for the repository (just below the sidebar on the right) and clone the forked project using Git:
$ cd to/some/directory
$ git clone https://github.com/<your-github-username>/shf-project.git
This will create a directory (under the directory where you are currently)
called shf-project
. That is the "home" directory for the app.
You also need to configure a remote repo to point to the main project repository in order to get latest updates. (This will be required at a later stage when submitting your features)
$ cd shf-project
$ git remote add upstream https://github.com/AgileVentures/shf-project
- Install required gems in your local environment - run this from the project home directory:
$ bundle install
-
Make sure you have the correct "locale" file present on your local machine - Since our user base primarily works in Swedish, we need to confirm that the database will correctly sort (collate) text in that language.
a. Check if the Swedish local file is present on your machine:
$ locale -a
In the list of locale files, look for a file that looks like this:
sv_SE.UTF-8
. If found, then you're fine. If not, do the next step.b. Load the swedish "language pack". For instance, on Linux this should work:
$ sudo apt-get install language-pack-sv
Execute the previous step again and confirm that the language pack has been installed.
Sensitive or secret information (e.g. Google map API key) is maintained in this file in the project home directory:
.env
That file will not be present in the environment when you first clone it because it is not maintained in git - and thus is not pulled down from github. Contact one of the project members to get the contents of that file (for example via private message in Slack, or general message in the project's Slack channel).
$ bundle exec rake shf:db_prep
$ bundle exec rake db:seed
The rake task shf:db_prep
creates or recreates the development and test DBs, creates the application
schema, loads foundation data table (e.g. list of Swedish counties).
Then, run seed.db to populate the DB with data for development.
When this completes, initialize the test DB:
$ bundle exec rake db:test:prepare
$ bundle exec rspec
$ bundle exec rake cucumber
Discuss any errors with the team.
$ bundle exec rails s
Point your browser to localhost:3000
and confirm that the website is running.
We use Pivotal Tracker (PT) for bug and story tracking. Please contact a project team member (via Slack) to be added to our story board on PT.
Please see our github wiki for articles about contributing to the project.
If have any problems, please search through the issues first to see if it's already been addressed. If you do not find an existing issue, then open a new issue. Please describe the problem in detail including information about your operating system (platforms), version, etc. The more detail you can provide, the sooner we can address it.
The authors and contributors have agreed to license all other software under the MIT license, an open source free software license. See the file named COPYING which includes a disclaimer of warranty.