Giter Club home page Giter Club logo

shaylenreddy42 / seelans-tyres Goto Github PK

View Code? Open in Web Editor NEW
6.0 1.0 0.0 15.25 MB

This project is a proof-of-concept - which is a rewrite of my old college project - to demonstrate my skills as a DevOps Engineer before anything else after earning the Microsoft Certified: DevOps Engineer Expert certification

License: MIT License

C# 75.73% HTML 11.39% CSS 0.27% JavaScript 0.08% CMake 1.00% Batchfile 1.10% SCSS 0.08% Dockerfile 2.58% Bicep 7.76%
aspnetcore az-400 entity-framework-core identityserver4 build-automation cmake devops distributed-tracing elasticsearch hybrid-encryption

seelans-tyres's Introduction

Seelan's Tyres

Solution Build Status
Main Build Status
SeelansTyres-Frontends-HealthChecksUISolution Build Status
SeelansTyres-Frontends-MvcSolution Build Status
SeelansTyres-FunctionApps-SystemDegradedTogglerSolution Build Status
SeelansTyres-Gateways-WebBffSolution Build Status
SeelansTyres-Services-AddressServiceSolution Build Status
SeelansTyres-Services-IdentityServiceSolution Build Status
SeelansTyres-Services-OrderServiceSolution Build Status
SeelansTyres-Services-TyresServiceSolution Build Status

SonarCloud

What's the purpose of this project?

This project is a rewrite of my original college project which - compared to this - was very poorly written and insecure

Originally, it was written using PHP. This is written using C# and .NET 6 and 8

It's also rewritten to utilize my Azure and DevOps skills since I had earned Microsoft's Azure Certifications and needed a way to prove my skills with a project

View the AZ-400 that I prepared for and took here

As of right now, the solution is completed locally, and in Azure

Scroll down to the Demos section to see it in Azure

Initially I intended to make it cloud-native but I'd rather have it cloud-ready since "native" means it only runs in the cloud

The definition of "cloud-native" seems to be up for debate from what I've seen and it makes sense as to why it is one

NOTE: Since this project is a proof-of-concept, the payment system isn't integrated

NOTE: A Wiki is now available on how the solution is built, ensure to have a look at it 🥹

Architecture

Where it started

In the beginning, it was a distributed monolith with a frontend and backend API with a single database shared between both the projects

Where it is

The API has been broken down into microservices which then invited a backend-for-frontend to have a single point of entry into the microservices from the frontend

The solution now comprises of 10 runnable projects with 18 projects in total

Features

Website features

Security features

API features

Architecture features

Codebase / Build System features

Resources that helped me skill up to rewrite this project

Textbooks

Pluralsight

Paths

Individual courses

Whizlabs

YouTube

Channels

Videos

Docs, forums and articles

Required local setup to build and run

Build instructions

  • Ensure to set environment variables listed in the RequiredEnvironmentVariables.txt file

    • Press 🪟 and search for Edit environment variables for your account
    • When setting this for the first time, restart your computer
  • All build scripts are in the scripts folder

  • In order to build, I've provided four options for you:

    • build.cmd which is the regular build
    • build-with-docker.cmd to run with docker-compose
    • build-with-services.cmd which is the regular build + elasticsearch, kibana and rabbitmq orchestrated with docker-compose
    • Kubernetes:
      • All scripts for Kubernetes are in the scripts/kubernetes folder and should be run in order
        • 00-applied-once.cmd
          • Note: This adds the nginx ingress to the cluster from the original repo
        • 01-build-images.cmd
        • 02-deploy.cmd
        • 03-delete.cmd
  • NOTE: For Docker builds, run the pull-required-docker-images.cmd script beforehand

  • Once you run either build.cmd or build-with-services.cmd, CMake will generate run-all.cmd

  • Thereafter, run run-all.cmd which will start all applications minimized and launch the site, simulating orchestration

Demos

Setting up Kibana and demonstrating distributed tracing

Kibana Thumbnail

Solution in Azure

Azure Thumbnail

Setting up https locally

HTTPS Thumbnail

seelans-tyres's People

Contributors

dependabot[bot] avatar shaylenreddy42 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 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.