Skip to content

Sim001-debug/Supermarket.API

Repository files navigation

🛠️ Clean RESTful API with ASP.NET Core

Welcome to my RESTful API project built using ASP.NET Core — a clean, maintainable, and scalable backend service developed as part of my upskilling journey. This API was implemented by following industry best practices and the guide by Evandro Gomes.

🚀 This project demonstrates my understanding of building real-world APIs using modern C# and .NET Core frameworks, and reflects my capabilities in backend development, database integration, and API testing.


📌 Project Overview

This RESTful API simulates a real-world application scenario where client applications interact with centralized backend services to manage and access data. The solution follows Clean Architecture principles, ensuring that code is well-structured and easy to maintain.

🔧 Tech Stack

  • .NET Core 2.2
  • ASP.NET Core Web API
  • Entity Framework Core
  • AutoMapper
  • PostgreSQL (or your choice of RDBMS)
  • Postman (for API testing)
  • Visual Studio Code (or any preferred IDE)

📁 Features

  • ✅ Clean and maintainable API structure
  • ✅ Layered architecture (Controllers, Services, Repositories)
  • ✅ DTOs (Data Transfer Objects) with AutoMapper
  • ✅ Full CRUD operations
  • ✅ Error handling and validations
  • ✅ Postman Collection for API testing
  • ✅ Git version control and best commit practices

🏗️ Project Structure

/MyApiProject │ ├── Controllers # API Endpoints ├── Services # Business Logic ├── Repositories # Data Access Layer ├── Models # Domain Models ├── DTOs # Data Transfer Objects ├── MappingProfiles # AutoMapper Profiles ├── appsettings.json # Configuration file └── Program.cs / Startup.cs

yaml Copy Edit


🚀 Getting Started

✅ Prerequisites

🧪 Run Locally

# Clone the repo
git clone https://github.com/your-username/your-repo-name.git

# Navigate to the folder
cd your-repo-name

# Restore dependencies
dotnet restore

# Run the project
dotnet run
📬 API Endpoints
Method	Endpoint	Description
GET	/api/resource	Get all items
GET	/api/resource/{id}	Get item by ID
POST	/api/resource	Create new item
PUT	/api/resource/{id}	Update item
DELETE	/api/resource/{id}	Delete item

🔄 Replace resource with your actual entity, such as users, products, etc.

📘 Learning Outcomes
🧠 Gained practical experience implementing RESTful APIs

🔄 Learned integration of AutoMapper for DTO mapping

💾 Used Entity Framework Core for database operations

🧪 Practiced API testing using Postman

🛠️ Understood layered architecture for scalable backend services

📈 Improved Git and version control collaboration practices

🧑‍💻 About Me
I'm Simbongile Dyi, a passionate Junior Software Developer with hands-on experience in ASP.NET Core, C#, PostgreSQL, and modern backend engineering practices.

🌍 Based in South Africa 🇿🇦

📫 Email Me : Simbongile.Dyi99@gmail.com

🔗 LinkedIn : https://www.linkedin.com/in/simbongile-dyi-288227249/

💼 Currently learning and building real-world projects to level up!

🌟 Acknowledgements
Special thanks to Evandro Gomes for the incredible step-by-step guide that inspired and shaped this project. Check out the original article.

📄 License
This project is open source and available under the MIT License.

⭐ If you find this project useful or inspiring, feel free to star the repo and connect with me!

yaml
Copy
Edit

---
<img width="1423" height="832" alt="image" src="https://github.com/user-attachments/assets/76b28371-3337-4b43-970a-69f26f131676" />

About

Supermarket Api

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages