Manages user information and serves API to the front-end mobile
- Go version 1.17
- PostgresSql database
git clone https://github.com/TechBuilder-360/business-directory-backend.git
go install
go run main.go
- Security: Encrypt and Decrypt api request and response with AES
- Client Validation: Uses HMAC encryption to encrypt request body to validate request. request header has two keys 'CID' for passing client ID, and 'CS' for passing encrypted request body.
- Authentication: Validates users JWT if expired return invalid session else proceed to next middleware or controller. JWT are encrypted using AES to protect its content.
- CORS
- User registers using email address.
- Confirmation mail get sent to user to verify/activate account.
- User enters activation code to proceed to use the app.
- User enters email.
- Login code gets sent to email address.
- User enters code and gets redirected to dashboard.
Payment is a way to track the proof of life of an organisation.
- A registered user can create an organisation and by default become the owner of that organisation.
- Organisation has 6 months free enrollment before they become inactive (not visible on search).
- An organisation running a free trial will be given a bronze star to indicate that it was registered less than 6 months on the platform.
- Organisation running free trial would have access to limited features.
- An organisation can opt to pay monthly or yearly subscription, notification would be sent 1 month before an account would be turned inactive if payment isn't made before then.
- Has a minimum of one branch (HQ)
- Location is optional
- An organisation without location cannot create a branch.