https://github.com/melih0132/uber-clone-dotnet-vue
A project integrating Uber's API with Vue.js for a seamless ride-sharing experience.
https://github.com/melih0132/uber-clone-dotnet-vue
ajax api api-rest axios uber-clone vue3 vuejs
Last synced: about 1 month ago
JSON representation
A project integrating Uber's API with Vue.js for a seamless ride-sharing experience.
- Host: GitHub
- URL: https://github.com/melih0132/uber-clone-dotnet-vue
- Owner: melih0132
- Created: 2025-03-31T20:53:19.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2026-04-20T17:40:48.000Z (about 2 months ago)
- Last Synced: 2026-04-20T19:35:21.540Z (about 2 months ago)
- Topics: ajax, api, api-rest, axios, uber-clone, vue3, vuejs
- Language: C#
- Homepage:
- Size: 1.76 MB
- Stars: 0
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Uber - Full Stack Application (.NET Core & Vue.js)
## Overview
A full stack web application inspired by the Uber model, developed with **.NET Core C#** for the back-end and **Vue.js** for the front-end. The project supports order management, meal delivery (Uber Eats), ride booking, and includes secure authentication using JWT.
---
## Key Features
* JWT authentication (registration, login, account management)
* Ride booking with trip history
* Meal ordering and delivery (Uber Eats)
* Management of restaurants, products, and payment methods
* Interactive map with Leaflet
* Responsive UI built with Vue.js
---
## Technologies Used
* **Back-end**:
* .NET 8
* Entity Framework Core
* RESTful Web API
* xUnit for testing
* **Front-end**:
* Vue.js 3
* Vite
* Pinia (state management)
* Vue Router
* Axios
* **Database**: PostgreSQL
* **Testing**:
* xUnit for back-end (.NET)
* Unit testing for front-end (Vue)
---
## Prerequisites
* [.NET 8 SDK](https://dotnet.microsoft.com/download)
* [Node.js (>=16.x)](https://nodejs.org/)
* [PostgreSQL](https://www.postgresql.org/)
* [Vue CLI / Vite](https://vitejs.dev/)
---
## Installation
### 1. Clone the repository
```bash
git clone https://github.com/melih0132/uber-clone-dotnet-vue.git
cd uber-clone-dotnet-vue
```
### 2. Start the API (.NET)
```bash
cd UberApi
dotnet restore
dotnet ef database update
dotnet run
```
Make sure to configure the connection strings in `appsettings.Development.json` if needed.
### 3. Start the front-end (Vue.js)
```bash
cd ../UberVueJS
npm install
npm run dev
```
---
## Configuration
### Environment Variables
Create a `.env` file in the front-end project root to store API URLs and tokens:
```env
VITE_API_URL=http://localhost:5000/api
```
### Database Configuration
Configure your PostgreSQL connection in `UberApi/appsettings.Development.json`:
```json
{
"ConnectionStrings": {
"DefaultConnection": "Host=localhost;Database=uber_clone;Username=your_username;Password=your_password"
}
}
```
---
## Project Structure
```
uber-clone-dotnet-vue/
├── UberApi/ → .NET Back-end API
│ ├── UberApi/ → Main project
│ │ ├── Controllers/ → REST Controllers
│ │ ├── Models/ → Entities and models
│ │ ├── Services/ → Business services
│ │ ├── Data/ → EF Core context
│ │ └── Migrations/ → EF Core migrations
│ └── UberApiTests/ → Unit tests
│
└── UberVueJS/ → Vue.js Front-end application
├── src/
│ ├── components/ → Reusable UI components
│ ├── views/ → Main pages
│ ├── stores/ → Pinia stores
│ ├── services/ → API services
│ ├── assets/ → Static resources
│ └── router/ → Router configuration
├── tests/ → Unit tests
└── public/ → Public files
```
---
## Best Practices
* Use of **TypeScript** for front-end development
* Unit tests for services and controllers
* Security: role management, token expiration, data validation
* Modular architecture: separated services, MVC architecture on the back-end
* Code documentation with XML comments
* Git Flow for version management
---
## Contributing
Contributions are welcome:
1. Fork the project
2. Create your feature branch (`git checkout -b feature/AmazingFeature`)
3. Commit your changes (`git commit -m 'Add some AmazingFeature'`)
4. Push to the branch (`git push origin feature/AmazingFeature`)
5. Open a Pull Request
---
## University Project
This project was developed as part of the 4th semester of the Computer Science BUT program.
## License
This project is licensed under the MIT License. See the `LICENSE` file for details.