Gerald - Feedback Application Server
Gerald is an open-source Golang server designed to provide support for mobile apps by allowing users to submit feedback and upvote existing feedback. This server follows a clean architecture approach and utilizes the go-swagger library for API documentation and code generation.
Features
- Create feedback
- Get all feedback
- Upvote feedback
- Get feedback for a specific project
Getting Started
Prerequisites
- Go 1.22 or later
- PostgreSQL database
Installation
-
Clone the repository: bash git clone https://github.com/your-username/gerald.git
-
Navigate to the project directory: bash cd gerald
-
Install dependencies: bash go mod download
-
Set up the PostgreSQL database and update the connection string in the configuration file.
-
Run database migrations: bash make migrate
-
Start the server: bash make run
The server will be running at http://localhost:8080.
API Documentation
The API documentation is generated using go-swagger and can be accessed at http://localhost:8080/swagger-ui/.
Configuration
The server configuration can be found in the config.go file. You can modify the settings according to your needs.
Testing
Run the tests with the following command: bash make test
Linting
Run the linter with the following command: bash make lint
Contributing
Contributions are welcome! Please follow the contributing guidelines when submitting pull requests.
License
This project is licensed under the MIT License.