Backend of an application created to streamline and enhance the inventory processes for individuals and teams managing green areas.
$ docker compose up --build -d
.
βββ Dockerfile
βββ README.md
βββ controllers
βΒ Β βββ investorsController.go
βΒ Β βββ locationsController.go
βΒ Β βββ officeController.go
βΒ Β βββ statusesController.go
βΒ Β βββ usersController.go
βββ docker-compose.yaml
βββ go.mod
βββ go.sum
βββ initializers
βΒ Β βββ dbConnector.go
βΒ Β βββ dbSeeder.go
βΒ Β βββ dbSynchronizer.go
βΒ Β βββ envVariablesLoader.go
βΒ Β βββ seeds
βΒ Β βββ offices.json
βΒ Β βββ statuses.json
βββ main.go
βββ middleware
βΒ Β βββ handleCORS.go
βΒ Β βββ requireAuth.go
βββ models
βΒ Β βββ addressModel.go
βΒ Β βββ applicationModel.go
βΒ Β βββ authModel.go
βΒ Β βββ commonModel.go
βΒ Β βββ investorModel.go
βΒ Β βββ locationModel.go
βΒ Β βββ noteModel.go
βΒ Β βββ officeModel.go
βΒ Β βββ statusModel.go
βΒ Β βββ userModel.go
βββ test
βββ tmp
βββ validators
βββ usersValidator.go
Auth
POST /register
{
email: string,
password: string
}
POST /login
{
email: string,
password: string
}
GET /validate
DELETE /users
Statuses
GET /statuses
POST /statuses
{
name: string;
}
PUT /statuses/:id
{
name: string;
}
DELETE /statuses/:id
Investor
GET /investors
GET /investors/:id
POST /investors
{
name: string,
contactPerson: string,
phone: string,
email: string,
nip: string,
regon: string,
address: {
city: string,
street: string,
number: string,
zipCode: string
}
}
PUT /investors/:id
{
name: string,
contactPerson: string,
phone: string,
email: string,
nip: string,
regon: string,
address: {
city: string,
street: string,
number: string,
zipCode: string
}
}
DELETE /investors/:id
Offices
GET /offices
GET /offices/:id
POST /offices
{
name: string,
address: {
city: string,
street: string,
number: string,
zipCode: string
}
}
PUT /offices/:id
{
name: string,
address: {
city: string,
street: string,
number: string,
zipCode: string
}
}
DELETE /offices/:id
Locations
GET /locations
GET /locations/:id
POST /locations
{
name: string,
issueDate: string, // ISO 8601
inspectionDate: string, // ISO 8601
deforestationDate: string, // ISO 8601
plantingDate: string, // ISO 8601
deforestationDone: boolean,
plantingDone: boolean,
address: {
city: string,
street: string,
number: string,
zipCode: string
},
statusId: int,
investorId: int,
}
PUT /locations/:id
{
name: string,
issueDate: string, // ISO 8601
inspectionDate: string, // ISO 8601
deforestationDate: string, // ISO 8601
plantingDate: string, // ISO 8601
deforestationDone: boolean,
plantingDone: boolean,
address: {
city: string,
street: string,
number: string,
zipCode: string
},
statusId: int,
investorId: int,
}
DELETE /locations/:id