🚀 Welcome to the OBE API! This project is a high-performance web service built with Go and the Gin framework. It's designed to handle CSV file uploads, process them according to predefined business logic, and perform various data collection and analysis operations. By adhering to Domain-Driven Design (DDD) principles, our codebase is neatly organized into distinct layers, enhancing both maintainability and scalability.
- 📁 CSV File Uploads: Accepts CSV files and processes them effectively.
- 🛠️ DDD Architecture: Our codebase is structured following the DDD principles to ensure clear separation of concerns.
- 📡 RESTful Endpoints: Offers simple and well-structured API endpoints for easy integration.
- 🐳 Docker Support: Facilitates easy containerization and deployment of the service.
- Go version 1.15 or later.
- Docker (optional, for containerization).
- Clone the repository:
git clone https://github.com/yourusername/csv-processor-api.git
cd csv-processor-api
- Install dependencies:
go mod tidy
- To run the server locally:
go run cmd/main.go
- To build and run with Docker:
docker build -t csv-processor-api .
docker run -p 8080:8080 csv-processor-api
To upload and process a CSV file, use the following curl
command:
curl -X POST -F "file=@path/to/your/file.csv" http://localhost:8080/api/v1/upload
Replace path/to/your/file.csv
with the actual file path you wish to upload.
🤝 Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the project.
- Create your feature branch (
git checkout -b feature/AmazingFeature
). - Commit your changes (
git commit -m 'Add some AmazingFeature'
). - Push to the branch (
git push origin feature/AmazingFeature
). - Open a pull request.
Distributed under the MIT License. See LICENSE
for more information.
Your Name - @your_twitter - email@example.com
Project Link: https://github.com/yourusername/csv-processor-api