Skip to content

Its source is available for reviewing by potential recruiters or clients and developers/students who find the project useful to learn from.

Notifications You must be signed in to change notification settings

saeedeldeeb/the-off-duty-school-bus

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

74 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Off Duty School Bus

Description

The Off-duty School Bus project is a platform designed to provide companies with convenient and reliable transportation solutions for their employees during holidays and off-duty periods. View Project Business

Techs:

  • C#/.Net Core 8
  • Sql Server
  • Docker
  • Documented with Swagger
  • RabbitMQ

Features:

An overview of the Off Duty Bus API.

Note: This is not all the API endpints but the most important features.

  • Authentication & Authorization:

    • Identity for authentication
    • Signup
    • Login
    • Profile - Get, Update, Upload Profile Picture
  • User Management:

    • Roles
      • Role 1: SchoolTransportationManager
      • Role 2: CompanyTransportationManager
    • Permissions
      • Permission 1: Create, Read, Update, Delete, List School Vehicles
      • Permission 2: Create, Read, Update, Delete, List Vehicle Brands
      • Permission 3: Create, Read, Update, Delete, List Off Duty Buses
      • etc
  • Vehicle Brands:

    • Create Brand
    • Get Brand
    • Update Brand
    • Delete Brand
  • School Vehicles:

    • Create School Vehicle
    • Get School Vehicle
    • Update School Vehicle
    • Delete School Vehicle
    • Filtered List School Vehicles for rent

About the APP:

  • Architecture Pattern:

    the project is built using the Clean Architecture pattern, which is a software design pattern that separates the application into three main layers: the presentation layer, the domain layer, and the data layer.

  • Code Style:

    Code Style with CSharpier.

  • Payment Gateway:

    The project supports for now stripe payment gateway and webhook was tested locally with stripe CLI. Client script to test stripe

  • RabbitMQ:

    The project uses RabbitMQ for starting a background job for tracking the bus location when trip started.

  • Multi-Language:

    This project is designed to support multiple languages for dynamic content in the database, such as Vehicle Brands and others. The implementation is customized, involving the creation of a new table for each entity that requires multi-language support. Each of these tables includes a language code and value.

Give it a star if you like it ⭐

Contact me:

About

Its source is available for reviewing by potential recruiters or clients and developers/students who find the project useful to learn from.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published