Developed a service that retrieves full names via an API, enriches the response with the most probable age, gender, and nationality from open APIs, and stores the data in a database.
Before running this application, ensure that you have the following prerequisites installed:
- Go: Install Go
- Docker: Install Docker
- Docker Compose: Install Docker Compose
- Clone this repository
git clone https://github.com/kemalkochekov/EffectiveMobileTestProject.git
- Navigate to the project directory:
cd EffectiveMobileTestProject
- Start the Docker containers:
docker-compose up
- The application will be accessible at Graphql Playground:
localhost:8080
The following API endpoints are available at:
This project maintains code quality using golangci-lint
, a fast and customizable Go linter. golangci-lint
checks for various issues, ensures code consistency, and enforces best practices, helping maintain a clean and standardized codebase.
To install golangci-lint
, you can use brew
:
brew install golangci-lint
- Configuration:
After installing golangci-lint, create or use a personal configuration file (e.g., .golangci.yml) to define specific linting rules and settings:
golangci-lint run --config=.golangci.yml
This command initializes linting based on the specified configuration file.
- Run the linter:
Once configuration is completed, you can execute the following command at the root directory of your project to run golangci-lint:
golangci-lint run
This command performs linting checks on your entire project and provides a detailed report highlighting any issues or violations found.
- Customize Linting Rules:
You can customize the linting rules by modifying the .golangci.yml
file.
For more information on using golangci-lint, refer to the golangci-lint documentation.