Skip to content

This repository contains the codebase for an Uber-like application providing both delivery and cab services. The project uses modern technologies including Docker, Kubernetes, TypeScript for backend, React for frontend, GraphQL for API interactions, Redis for caching, Kafka for message brokering, and advanced routing algorithms.

License

Notifications You must be signed in to change notification settings

visheshrwl/Uber-like

Repository files navigation

Uber-Like App🚘

This repository contains the codebase for an Uber-like application providing both delivery and cab services. The project uses modern technologies including Docker, Kubernetes, TypeScript for backend, React for frontend, GraphQL for API interactions, Redis for caching, Kafka for message brokering, and advanced routing algorithms.

Repository Owner

This repository is maintained by Vishesh Rawal.

LinkedIn Profile : LinkedIn.

πŸ”— Important Links πŸ”—

Discord Logo Join our Official Discord Server

Open Source Love svg1 PRs Welcome Visitors GitHub forks GitHub Repo stars GitHub contributors GitHub last commit GitHub repo size GitHub total lines Github GitHub issues GitHub closed issues GitHub pull requests GitHub closed pull requests


πŸ“‘ For Table of Contents

  1. Navigate to the top-right corner of the Readme file.
  2. Click on the list-view(three horizontal lines and three vertical dots) icon.
  3. A dropdown will appear with the Table of Contents.

πŸ“‹ Participating Programs

Name Logo Purpose
GSSoC'2024-Extd GSSoC Logo The coding period is from October 1st to October 30th, during which contributors make contributions and earn points on the platform.
Hacktoberfest 2024 Hacktoberfest Logo Hacktoberfest is a month-long October event welcoming all skill levels to join the open-source community.

πŸ“‚Project Structure

uber-like-app/
β”œβ”€β”€ frontend/
β”‚ β”œβ”€β”€ Dockerfile
β”‚ └── src/
β”œβ”€β”€ backend/
β”‚ β”œβ”€β”€ Dockerfile
β”‚ β”œβ”€β”€ src/
β”‚ β”œβ”€β”€ package.json
β”‚ β”œβ”€β”€ tsconfig.json
β”‚ └── nodemon.json
β”œβ”€β”€ kubernetes/
β”‚ β”œβ”€β”€ deployment.yaml
β”‚ β”œβ”€β”€ service.yaml
β”‚ └── ingress.yaml
β”œβ”€β”€ .github/
β”‚ └── workflows/
β”‚ └── ci-cd.yml
β”œβ”€β”€ .dockerignore
β”œβ”€β”€ .gitignore
β”œβ”€β”€ README.md
└── docker-compose.yml

βš™οΈCI/CD Pipeline

The CI/CD pipeline is set up using GitHub Actions. It builds and deploys Docker images for the frontend and backend services and deploys them to a Kubernetes cluster.

πŸ”— Setup Instructions

πŸ“Prerequisites

  • Docker
  • Kubernetes
  • GitHub account
  • DockerHub account

πŸš€ How to Contribute to This Project πŸš€

We’re excited to have you contribute to this Ice Cream Parlour Website project! Follow these simple steps to get started:

  1. 🍴 Fork the Repository

    • Go to the repository page.
    • Click the Fork button (top right). This creates a copy of the project in your GitHub account.
  2. πŸ’» Clone Your Fork

    • Once the repository is forked, clone it to your local machine. Open your terminal and run:
     git clone https://github.com/your-username/Uber-like.git
    cd uber-like
    • Replace your-username with your GitHub username.
  3. 🌿 Create a New Branch

    • Before making any changes, create a new branch for your work:
     git checkout -b your-branch-name
    • Choose a branch name that describes what you're working on, such as fix-navbar or add-contact-form.
  4. πŸ› οΈ Make Your Changes

    • Open the project files in your code editor (like VS Code) and make your changes.
    • You can contact the project manager for any queiries you have.
  5. βœ… Test Your Changes

    • Make sure your changes work correctly by testing the website locally. Open the index.html file in your browser to see your updates.
  6. πŸ’¬ Commit Your Changes

    • Once your changes are ready, commit them with a descriptive message:
      git add .
      git commit -m "Added feature X or Fixed issue Y"
  7. πŸ“€ Push Your Changes

    • Push your changes to your forked repository on GitHub:
     git push origin your-branch-name
  8. πŸ”„ Create a Pull Request (PR)

    • Go back to the original repository here.
    • Click the Compare & pull request button.
    • Write a short description of your changes and submit the pull request (PR).
  9. πŸ”ŽReview Changes

    • The project manager will review your PR. If your changes are approved, your request would be merged.

By following these steps, you can easily contribute to this project! If you have any questions, feel free to ask in the repository’s discussion or issue section.

βœ…Run Locally with Docker Compose

docker-compose up --build

πŸ”„Deploy to Kubernetes

kubectl apply -f kubernetes/

πŸ“’Our Valuable ContributorsπŸ“’

Contributors


Stargazers ❀️

Stargazers repo roster for visheshrwl/Uber-like

Forkers ❀️

Forkers repo roster for @nastyox/Repo-Roster


πŸ“ƒLICENSE

This project is licensed under the MIT License - see the MIT License file for details.

Additional Recommendations

  • πŸ“Testing: Implement unit and integration tests for both frontend and backend.
  • πŸ“ˆMonitoring: Set up Prometheus and Grafana for monitoring the application.
  • πŸ›‘οΈSecurity: Regularly audit the codebase for security vulnerabilities.

By following these steps, you will set up a comprehensive repository with all the necessary components for the project, including a CI/CD pipeline, Docker configuration, and Kubernetes deployment files. This will ensure a robust, scalable, and maintainable application architecture.

About

This repository contains the codebase for an Uber-like application providing both delivery and cab services. The project uses modern technologies including Docker, Kubernetes, TypeScript for backend, React for frontend, GraphQL for API interactions, Redis for caching, Kafka for message brokering, and advanced routing algorithms.

Topics

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published