README.md 3.5 KB
Newer Older
1
ROOMLIST
Daniel W Bond's avatar
Daniel W Bond committed
2
3
4
5
6
7
8
===

Project Description

On Contributing
---

Jason D Yeomans's avatar
Jason D Yeomans committed
9
RoomList welcomes all the help it can get. Even if you don't feel like you can be helpful the more technical aspects, we definitely need designers, technical writers, and testers.
Daniel W Bond's avatar
Daniel W Bond committed
10
11
12

There are many things that can be done with this project (see the "To Do" section), but sometimes it's the small things that count, so don't be afraid of contributing just a small spelling mistake.

Jason D Yeomans's avatar
Jason D Yeomans committed
13
If you need help at all please contact a SRCT member. We want people to contribute, so if you are struggling, or just want to learn we are more than willing to help.
Daniel W Bond's avatar
Daniel W Bond committed
14

15
The project lead for this project is [Jason Yeomans](jyeoman2@gmu.edu).
Daniel W Bond's avatar
Daniel W Bond committed
16
17
18
19
20
21
22
23

Please visit the [SRCT Wiki](http://wiki.srct.gmu.edu/) for more information on this and other SRCT projects, along with other helpful links and tutorials.

Setup
---

To get started, you'll need the following installed:
* [Git](http://git-scm.com/book/en/Getting-Started-Installing-Git)
Jason D Yeomans's avatar
Jason D Yeomans committed
24
25
* Python
* Django 1.7
26
* PostgreSQL
Jason D Yeomans's avatar
Jason D Yeomans committed
27
* Psycopg2
Daniel W Bond's avatar
Daniel W Bond committed
28
29
30
31
32
* Other language or framework-specific items

Open a terminal window and type in the following commands. (If you're on Windows, use [Cygwin](http://www.cygwin.com/). This will create a local, workable copy of the project.

``bash``
Jason D Yeomans's avatar
Jason D Yeomans committed
33
34
``git clone git@git.gmu.edu:srct/roomlist.git``
``cd roomlist/``
Daniel W Bond's avatar
Daniel W Bond committed
35
36
``A Django project, for example, would include setting up virtual environment, installing from requirements file, setting up south, syncing the database, and runserver``

37
38
To set up the PostgreSQL database, open a terminal and type in the following commands:

39
40
First, we must install some dependencies for PostgreSQL.

41
``$ sudo apt-get install libpq-dev python-dev``
42
43
44

Next, we need to install PostgreSQL.

45
``$ sudo apt-get install postgresql postgresql-contrib``
46
47
48

Now, we need to become the postgres user, create our database, and create our user.

49
50
``$ sudo su - postgres``
``$ createdb roomlist``
51
52
53
54
55
56
57
58
59

Choose your username, and execute the next command without the quotes.

``$ createuser -P "your_username"``

You'll then be prompted to twice enter your password. Choose a strong passphrase for production. For local development, password strength is less important.

Finally, we need to enter the PostgreSQL command line interface to grant permissions.

60
61
``$ psql``
``postgres=# GRANT ALL PRIVILEGES ON DATABASE roomlist TO django;``
62

63
64
Your PostgreSQL database should now be set up to work with the Roomlist project.

65
Copy the secret.py.template and config.py.template to secret.py and config.py respectively. For each, follow the comment instruction provided in each file.
66

Daniel W Bond's avatar
Daniel W Bond committed
67
68
Run `python manage.py syncdb` to set up the empty database tables. When you're prompted, say 'y' to setting up the superuser, but use your mason username and full mason email address (@masonlive.gmu.edu) for the account. This is because we use Mason's Central Authentication for our user signin, and your admin account needs to manage your CAS account.

69
70
Have your virtualenvironment running and with the requirements.txt installed.

Daniel W Bond's avatar
Daniel W Bond committed
71
72
73
74
Next, run `python manage.py makemigrations`, `python manage.py migrate`, then `python manage.py runserver`.

Head over to localhost:8000 and see the site!

Daniel W Bond's avatar
Daniel W Bond committed
75
76
77
To-do
---

Daniel W Bond's avatar
Daniel W Bond committed
78
The list of to-do items is kept track of on the gitlab roomlist issues page. https://git.gmu.edu/srct/roomlist
Daniel W Bond's avatar
Daniel W Bond committed
79
80
81
82
83

About GMU SRCT
---

**S**tudent - **R**un **C**omputing and **T**echnology (*SRCT*, pronounced "circuit") is a student organization at George Mason University which enhances student computing at Mason. SRCT establishes and maintains systems which provide specific services for Mason's community.