# 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 1. Clone the repository: bash git clone https://github.com/your-username/gerald.git 2. Navigate to the project directory: bash cd gerald 3. Install dependencies: bash go mod download 4. Set up the PostgreSQL database and update the connection string in the configuration file. 5. Run database migrations: bash make migrate 6. 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](CONTRIBUTING.md) when submitting pull requests. ## License This project is licensed under the [MIT License](LICENSE).