forgolang
Forgolang.com's open-source discussion forum system.
But you can also use it as a small framework. :)
Roadmap
***Switching to DDD architecture. It will work soon and a more streamlined development environment will be released.
That's all for now. :)
Requirements
- Go > 1.11.x
- PostgreSQL
- Redis
- RabbitMQ
- Elasticsearch 7.x
Development
git clone -b develop https://github.com/streetbyters/forgolang_forum
go mod vendor
go run ./cmd -genSecretEnv
# Development Mode
go run ./cmd -mode dev -migrate -reset
go run ./cmd -mode dev
# Test Mode
go run ./cmd -mode test -migrate -reset
go run ./cmd -mode test
Tasks
If you have added a new API endpoint.
go run ./cmd -mode dev -task -name GenerateRolePermissions
Add Task
Create task file on tasks directory. On the bottom you can also see the sample task function.
package tasks
import "forgolang_forum/cmn"
func ExampleTask(app *cmn.App, args ...interface{}) {
app.Logger.LogInfo("Example Task")
}
After creating the task file, define the task to the task section in the cmd/main.go file.
package main
func main() {
...
_ts["ExampleTask"] = tasks.ExampleTask
...
}
Finally, call the task from the command line.
go run ./cmd -mode dev -task -name ExampleTask
Integrations
Contribution
I would like to accept any contributions to make Forgolang.com better and feature rich.
See detail
LICENSE
Copyright 2019 StreetByters Community
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.