The source code of the main nonshy.com website. https://www.nonshy.com
Go to file
Noah 49ffa277e8 User Account Busywork
* Add "forgot password" workflow.
* Add ability to change user email address (confirmation link sent)
* Add ability to change user's password.
* Add rate limiter to deter brute force login attempts.
* Add user deep delete functionality (delete account).
* Ping user LastLoginAt every 8 hours for long-lived session cookies.
* Add age filters to user search page.
* Add sort options to user search (last login, created, username/name)
2022-08-14 14:40:57 -07:00
cmd/gosocial User Profile and Settings Pages 2022-08-10 20:59:59 -07:00
pkg User Account Busywork 2022-08-14 14:40:57 -07:00
web User Account Busywork 2022-08-14 14:40:57 -07:00
.gitignore Photo Upload & Profile Pictures 2022-08-11 23:04:08 -07:00
go.mod Photo Upload & Profile Pictures 2022-08-11 23:04:08 -07:00
go.sum Photo Upload & Profile Pictures 2022-08-11 23:04:08 -07:00
Makefile User Profile and Settings Pages 2022-08-10 20:59:59 -07:00
README.md Initial commit 2022-08-09 22:32:19 -07:00

gosocial

Building

Use the Makefile:

  • make setup: install Go dependencies
  • make build: builds the program to ./gosocial
  • make run: run the app from Go sources in debug mode

Configuring

On first run it will generate a settings.json file in the current working directory (which is intended to be the root of the git clone, with the ./web folder). Edit it to configure mail settings or choose a database.

For simple local development, just set "UseSQLite": true and the app will run with a SQLite database.

Usage

The gosocial binary has sub-commands to either run the web server or perform maintenance tasks such as creating admin user accounts.

Run gosocial --help for its documentation.

Run gosocial web to start the web server.

Create Admin User Accounts

Use the gosocial user add command like so:

$ gosocial user add --admin \
  --email name@domain.com \
  --password secret \
  --username admin

Shorthand options -e, -p and -u can work in place of the longer options --email, --password and --username respectively.

License

GPLv2.