README.md 3.77 KB
Newer Older
Tyler Hallada's avatar
Tyler Hallada committed
1
2
#What's Open#

Tyler Hallada's avatar
Tyler Hallada committed
3
4
Simple Django site displaying which dining locations are currently open on 
George Mason University's campus.
Tyler Hallada's avatar
Tyler Hallada committed
5
6
7

##Contributing##

Tyler Hallada's avatar
Tyler Hallada committed
8
9
10
11
12
13
14
15
16
17
18
19
20
21
What's Open is still in it's very early stages and needs all the help it can
get. Even if you don't feel like you can be helpful with the heavily technical
aspects, we definitely need designers and technical writers.

There are many things that can be done with this project, but sometimes it's the
small things that count, so don't be afraid of contributing just for a spelling
mistake.

If you need help at all please contact me (Tyler). I want people to
contribute, so if you are struggling, or just want to learn, then I am willing
to help.

###Set Up###

Tyler Hallada's avatar
Tyler Hallada committed
22
23
24
25
To get started, you'll need the following installed:
* [Python 2.7](http://www.python.org/download/)
* [Django 1.4 or later](https://www.djangoproject.com/download/)
* [Git](http://git-scm.com/book/en/Getting-Started-Installing-Git)
Tyler Hallada's avatar
Tyler Hallada committed
26
27
28
29
30
* [virtualenv](http://www.virtualenv.org/en/latest/index.html#installation) 
  (to install you will need either 
  [pip](http://www.pip-installer.org/en/latest/installing.html) or 
  easy_install, which is bundled with 
  [setuptools](http://pypi.python.org/pypi/setuptools)
Tyler Hallada's avatar
Tyler Hallada committed
31

Tyler Hallada's avatar
Tyler Hallada committed
32
33
Then type the following commands in your terminal (if you're on Windows, 
[Cygwin](http://www.cygwin.com/) is recommended).
Tyler Hallada's avatar
Tyler Hallada committed
34
35

```bash
Tyler Hallada's avatar
Tyler Hallada committed
36
git clone git@git.gmu.edu:whats-open/whats-open.git
Tyler Hallada's avatar
Tyler Hallada committed
37
38
39
40
41
42
43
44
cd whats-open/
virtualenv venv --distribute
source venv/bin/activate
pip install -r requirements.txt
python manage.py syncdb
python manage.py schemamigration website --auto
```

Tyler Hallada's avatar
Tyler Hallada committed
45
46
47
48
49
50
The git.gmu.edu repository should be available to all SRCT members registered
on the site. If you're not, but would like to contribute, contact me or another
SRCT member.

###Testing the Site Locally###

Tyler Hallada's avatar
Tyler Hallada committed
51
52
53
Now that everything is set-up you can run the server on your computer.

```bash
Tyler Hallada's avatar
Tyler Hallada committed
54
python manage.py runserver --settings=whats_open.local_settings
Tyler Hallada's avatar
Tyler Hallada committed
55
56
```

Tyler Hallada's avatar
Tyler Hallada committed
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
Go to http://127.0.0.1/ in your browser and you should see the website. 
Though, there won't be any restaurants showing. You will need to add them to 
the database. Go to http://127.0.0.1/admin/ to add new Restaurant and Schedule 
objects to your database.

###Modifying and Deploying Code###

With the means of testing the website, you can really start contributing.

If you're new to Django and don't know where to start, I highly recommend
giving the [tutorial](https://docs.djangoproject.com/en/dev/intro/tutorial01/)
a try. However, it leaves out a lot of important things, so remember, Google is
your friend. If you can't figure it out there, ask me.

If you followed the steps in "Set Up" above, once you actually make changes it
should be easy to push them to the git repository.

There are many ways to use git, and this is one example:

```
git commit -a
git push origin master
```

Some more helpful links on how to use Git:
* [Git Reference](http://gitref.org/)
* [OpenHatch's Training Mission](https://openhatch.org/missions/git)
* [Visual Git
  Reference](http://marklodato.github.com/visual-git-guide/index-en.html)
* [Git For Ages 4 And
  Up](http://blip.tv/open-source-developers-conference/git-for-ages-4-and-up-4460524)


###Pedantic Technical Details###

Notice that `whats_open.local_settings` was specified as the settings file when
running the site locally. This settings file, located under the `whats_open`
folder as `local_settings.py`, is identical to the `settings.py` except for a
few things that allow you to run the site locally, like using an sqlite
database instead of the PostgresSQL one used for production currently.

However, it is possibly to run the site locally using the PostgresSQL database
and normal `settings.py` file. The most sane way of doing this requires that the 
heroku-toolbelt installed and that you have access to the heroku site as a 
contributor, so see me if you desire this.