Git Product home page Git Product logo

csharpcamprecapproject's Introduction

CAR RENTAL SYSTEM

Recap Project for Software Developer Training Camp on Kodlama.io

C# Camp on Kodlama.io

Repository including Frontend Codes: https://github.com/mcaliskan7/ReCapProjectFrontend

💬OVERVIEW

It is a project that I continue to develop by applying what I have learned during the Software Developer Training Camp where I participated on Kodlama.io. It includes both backend (C#) and frontend (Angular) development. It supports layered-architecture including Entities, Data Access, Business and Core layers, also Console UI and Web API layers for testing.

The basic information required in a car rental system, brand, color, car images, rental information, individual and corporate user information is kept in its database. It performs CRUD operations (Create - Read - Update - Delete) and all other operations in conjunction with the database. While performing all these, it adapts to Clean Code and DRY (Don't Repeat Yourself) concepts thanks to its well-designed interfaces and classes.

Autofac is used as an IoC (Inversion of Control) container, which is a software design principle that enables the management of the life cycle of the objects in the project. In this way, dependency is tried to be minimized.

With the support of FluentValidation, the suitability status of the objects is evaluated before they are directed to business rules. In this way, without the need to make changes on dozens of lines of code, new special rules can easily be introduced for user mail and password, car information and pictures.

Another important structure applied to the project to write better and clearer codes is AOP (Aspect Oriented Programming). Thanks to this method, it is ensured that the codes applied in many parts of the system, in other words 'Cross Cutting Corcerns', are abstracted and encapsulated.

JWT (Jason Web Token) integration is used to manage access to the database. It is ensured that the user logs in to the site so that they can access basic data. For data and transactions that users should not have access to, authorization is also made with JWT. With the role management used in the project, it is decided which operations will be accessible for certain users. For example, while a user can only get information from the database, an editor can be given the authority to edit this data and admin can have the authority to perform all kinds of operations.

All operations performed in this project were tested with Windows Console App beforehand, and after the backend development was completed to a great extent, it was tested with Postman. All the integrations mentioned in the content are working successfully. While the backend codes continue to be developed simultaneously, the start has been made to include the frontend development in the project.

🚀INSTALLATION

# Clone to repository
$ git clone https://github.com/mcaliskan7/CSharpCampReCapProject.git

# Go to the folder you cloned
$ cd CSharpCampReCapProject

# Install dependencies
$ dotnet restore

📚LAYERS

Business
ConsoleUI
Core
DataAccess
Entities
WebAPI

License: MIT

By Merve Çalışkan

LinkedIn: https://www.linkedin.com/in/mervecaliskan/ E-mail: [email protected]

csharpcamprecapproject's People

Contributors

mcaliskan7 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.