Files
ais/README.md
黑墨水鱼 db4d0cb5ae
All checks were successful
continuous-integration/drone/push Build is passing
Update 'README.md'
2022-12-13 11:21:08 +08:00

1.8 KiB

AIS Course Project

This is the code base for Accounting Information System course project.

Database Structure

See ais/install.go at master - ais - MSW Gitea

Server use envirment variable POSTGRES as connection string for postgres. Example: postgres://username:password@serverhost:5432/?sslmode=disable

Self-host guide

The recommend way to self-host services is to use docker.

To start a postgres server:

docker run -it --name pgdb -e POSTGRES_PASSWORD=password postgres

To build and bundle the front-end pages:

cd web
npm install
npm run build

To build the server program, run:

go mod tidy
go build -v .

The server build process should always run after the front-end bundle process, because it needs to embed the index.html and ais.js to the binanary file.

For more detailed information, see the drone CI/CD file, and CI/CD page

CI/CD status: Build Status

Security Evluation

Cookies-Session Encrytp Solution

Session information encrypted by server and stored on client side. See GitHub - gorilla/sessions: Package gorilla/sessions provides cookie and filesystem sessions and infrastructure for custom session backends.

User Password Hash Protect

Implement with golang's standard hash library bcrypt. see bcrypt documents.

Performance Evluation

With CI/CD auto push to edge network, the server capacity can be scale both vertically and horizontally. All API request is stateless, and can be easily migrate to become cloud-native application.