patrickarvatu.com is my open source personal website!
patrickarvatu.com isnt yet in production, however it is under active development.
- 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
- 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
- Powered by Golang
- Architecture layout from Ben Johnsons Article
- Event Service powered by asynq
- CLI start upp powered by cobra
- Built with react.js
- Using next.js on top of react.js
- Styling done with tailwind css
The config file uses the toml formant.
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] |
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.