A simplified Pinterest clone built with Go.
- Registration and authentication.
- Create and delete pins.
- View all pins.
- View a specific user's pins.
These instructions will get you a copy of the project up and running on your local machine for development. See deployment for notes on how to deploy the project.
To run this application you need Go and PostgreSQL.
Clone the project.
git clone https://github.com/aqche/goterest.git
Setup a PostgreSQL database.
sudo -u postgres createdb goterest
sudo -u postgres psql -d goterest -f setup.sql
Create a role for working with the new database.
sudo -u postgres psql -d goterest
postgres=#CREATE USER <USER> WITH ENCRYPTED PASSWORD '<PASSWORD>';
postgres=#GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO <USER>;
postgres=#GRANT ALL PRIVILEGES ON ALL SEQUENCES IN SCHEMA public TO <USER>;
Configure the application with the required environment variables.
export DATABASE_URL="user=<USER> password=<PASSWORD> dbname=goterest"
export SESSION_KEY="<SESSION_KEY>"
export CSRF_KEY="<CSRF_KEY>"
export ENV="DEV"
Start up the Go application.
go run ./cmd/web/
- Gorilla Web Toolkit - Go Libraries for Routing, Session Management, and CSRF Protection
- Bulma - CSS Framework
Feel free to submit a pull request!
- aqche - Author - aqche
See also the list of contributors who participated in this project.
This project is licensed under the MIT License - see the LICENSE file for more details.
- Pinterest - The inspiration for this site.
- LogoHub - For the neat logo.
- favicon.io - For the matching favicon.