Categorygithub.com/gregoryalbouy/portfolio-server-go
modulepackage
0.0.0-20200903024106-ff8b13d34f22
Repository: https://github.com/gregoryalbouy/portfolio-server-go.git
Documentation: pkg.go.dev

# README

Go Report Card

portfolio-server-go

Backend-server for my portfolio https://gregoryalbouy.com written in Go + SQL (previously in Node.js + MongoDB)

It is functionnal and deployed on Google App Engine. I use it to access, store and manage project information using JWT authentication, and receive messages from the contact form – which is quite unlikely to happen.

Features

  • REST API providing CRUD operations on projects data
  • JWT authentication
  • Contact message handling
  • Tests using Go's built-in tools

Storage

I use SQLite for dynamic storage because an embedded solution suits well my usage, though SQL language is not my favorite to work with. I might switch to a more mongo-ish solution if I find a satisfying one.

See also

# Packages

Package clog stands for custom-log.
No description provided by the author

# Functions

NewEmail sets an email using params that must be set as environment variables.
NewEmailFromMessage takes a *Message in input and sets an *Email ready to be sent.
NewMessage returns a *Message with the current date.
NewProject initializes Project struct with current time as AddedOn value.
NewProjectFromMap takes a map as input and returns a Project struct TODO.
NewProjectFromPostForm takes a formdata as input and returns a Project struct TODO.

# Structs

Email represents an email.
Message represents a message.
Project struct.
User represents..

# Interfaces

Store interface.

# Type aliases

ProjectList struct.