77 lines
1.5 KiB
Markdown
77 lines
1.5 KiB
Markdown
# 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). |