Skip to content

Ride-sharing platform with automated digital contracts. Drivers post trips, passengers find matching routes. System generates PDF agreements for safety. Features: registration, filtered search, trip management.

Notifications You must be signed in to change notification settings

Akineyshen/Carvisto.NET

Repository files navigation

Carvisto – Carpooling Platform

Language Framework Size Last Commit

Features

Core Functionality

  • User Authentication: User registration, login, and profile management.
  • Profile Avatar: Users can upload and set a profile avatar to personalize their account and enhance visibility.
  • Trip Creation: Drivers can publish trips by specifying route, date, and price.
  • Trip Search: Passengers can search for available trips by route, date, and cost.
  • Driver Search: Passengers can find drivers by phone number, name, or email.
  • Password Change: Users can securely update their password in the account settings.
  • Booking trip: Passengers can book seats on the selected trip with confirmation of the reservation.
  • Booking History: Users can view a detailed history of their past trips, including dates, routes, and booking details, for easy reference.
  • Automatic adjustment of reservations: When the total number of seats decreases, the system automatically cancels the last reservations.
  • View Passenger List: Drivers can see a list of passengers for their trips.
  • FAQ Page: A dedicated FAQ page provides answers to common user questions, improving support and platform usability.

Advanced Features

  • Driver Reviews and Ratings: Passengers can leave feedback and rate drivers to provide feedback and build trust.
  • PDF Documents: Automatic generation of trip agreements in PDF format.
  • Interactive Map: Visual representation of trip routes using Google Maps API.
  • Moderator Profile: A dedicated moderator profile with administrative privileges to manage users, trips, reviews, and platform content.

Requirements

  • .NET 8.0 or later
  • SQLITE database
  • Entity Framework Core
  • Google Maps API key
  • DinkToPdf

Installation

  1. Clone the repository:
    git clone https://github.com/Akineyshen/Carvisto.NET.git
  2. Navigate to the project directory:
     cd Carvisto.NET
  3. Apply database migrations
    dotnet ef database update
  4. Run the application:
    dotnet run

Project Structure

Carvisto/
    Carvisto/
    ├── Dependencies/                # Project dependencies
    ├── Properties/                  # Project configuration (launchSettings.json)
    ├── wwwroot/                     # Static files (CSS, JS, images)
    ├── Carvisto.Tests/              # Unit and integration tests for the application
    ├── Controllers/                 # MVC controllers handling HTTP requests
    ├── Data/                        # Database context and seed data
    ├── Migrations/                  # Entity Framework database migrations
    ├── Models/                      # Data models representing application entities
    ├── Services/                    # Application services and business logic
    ├── Views/                       # Razor views (UI templates)
    ├── .gitignore                   # Git ignore rules
    ├── appsettings.json             # Application configuration
    ├── appsettings.Development.json # Development-specific settings
    ├── appsettings.Production.json  # Production-specific settings
    ├── Carvisto.csproj              # Project file defining dependencies and settings
    ├── Carvisto.sin.DotSettings     # ReSharper or IDE-specific settings (optional)
    ├── Program.cs                   # Main entry point of the application
    └── ReadMe.md                    # Project documentation

Test Coverage

Tests are implemented exclusively for the Services folder within the Carvisto.Tests/ project. This focus is intentional, as services contain the primary business logic and core functionality of the application, making them the priority for testing.

Coverage Details

Tests

Coverage Summary: The majority of services achieve test coverage above 80%, ensuring robust testing of the application’s core functionality.

Screenshots

Main Page

Trips Search

Rewiews Driver

Trip Details

Manage Bookings

About

Ride-sharing platform with automated digital contracts. Drivers post trips, passengers find matching routes. System generates PDF agreements for safety. Features: registration, filtered search, trip management.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •