Skip to content

Latest commit

 

History

History
71 lines (62 loc) · 3.41 KB

README.md

File metadata and controls

71 lines (62 loc) · 3.41 KB

patrickarvatu.com Version Go Backend Test

patrickarvatu.com is my open source personal website!

State

patrickarvatu.com isnt yet in production, however it is under active development.

Things Done:

  • SQL logic implemented.
  • Implement sql code in sql package
  • HTTP exposure to the sql package
  • OAuth github implementation
  • Event Service implemented using asynq
  • CLI start upp

TODO:

  • Dockerize app
  • Node api to interact with frontend fs
  • Finish static pages on frontend (about, index)
  • Profile component
  • Near future: Support more OAuth providers
  • Write tests: sql package
  • Write tests: http package

Backend

Frontend

  • Built with react.js
  • Using next.js on top of react.js
  • Styling done with tailwind css

Config File

The config file uses the toml formant.

Fields:

Field Description Under
client-id Client ID of github oath 2.0 app [github]
client-secret Client Secret of github oauth 2.0 app [github]
admin-user-email the email of the admin, used to recognize admin user [github]
addr the address of the server (specify only port in development) [http]
domain the domain of the server (leave this empty in development) [http]
block-key key used for secure cookie encryption (see more) [http]
hash-key key used for secure cookie encryption (see more) [http]
frontend-url URL to frontend (ex: http://localhost:3000) [http]
sqlite-dsn path to sqlite database [database]
redis-dsn redis data source name (ex: 127.0.0.1:6379) [database]
addr address of the smtp server [smtp]
identity refer: godoc [smtp]
username refer: godoc [smtp]
password refer: godoc [smtp]
host refer: godoc [smtp]
blog-images-dir path to the http served file structure for blogs (used to store images) [file-structure]
project-images-dir path to the http served file structure for projects (used to store images) [file-structure]

Run:

GO 1.16 or higher is required

Currently the app isnt dockerized but you can run the go backend using go command line tool.

go install github.com/Lambels/patrickarvatu.com/cmd

If you have your GOBIN set to your path run the installed binary with the serve sub command and --config flag

bin_name serve --config ./path/to/config/file.toml

After you should have a running server on the address and domain specified in the config file.