The official website of HackSoc from The University of Manchester. We also have a Facebook and LinkedIn page!
Follow these instructions to run the website on your local machine.
- Download and install the Go distribution from here.
- Enabling reCAPTCHA requires a secret key and a site key. The first two steps of this tutorial explain how to get them.
- To enable SendGrid, create a free account and get an API key.
- A MySQL database is needed by certain features (such as signing up). Run the queries from the
sql
folder to generate the required tables in a new database. To connect the website to the database, a data source name (DSN) must be provided. Read this for details on how a DSN string is formatted.
If you choose to ignore these optional prerequisites, certain parts of the website may be deactivated or not work as expected.
Install the package to your $GOPATH using the go tool from the command line:
$ go get github.com/hacksoc-manchester/www
Make sure Git is installed on your machine and referenced by your system's PATH
.
Create a file called .env
in the project root directory and make sure it's added in .gitignore
(if using Windows, you might have to name it .env.
).
Paste the following text in the file and edit the variable values sensibly:
HTTP_PLATFORM_PORT="default port is 8080"
NOREPLY_EMAIL="noreply email used by the SendGrid API"
CONTACT_EMAIL="contact email used by the SendGrid API"
SYMMETRIC_KEY="personal symmetric key (can be of length 16, 24 or 32). keys are more secure"
RECAPTCHA_SITE_KEY="your reCAPTCHA site key"
RECAPTCHA_SECRET_KEY="your reCAPTCHA secret key"
MYSQL_CONNECTION_STRING="your MySQL connection string"
SENDGRID_API_KEY="your SendGrid API key"
FB_USER_TOKEN="your Facebook user token"
Go to the hacksoc-manchester/www
folder and run the following go command in your shell:
$ go run app.go
Go to the hacksoc-manchester/www
folder and run the following go command in your shell to run the predefined tests:
$ go test ./...
See the CONTRIBUTORS file.
This project is licensed under the MIT License - see the LICENSE file for details.