Skip to content

ImSk1/SoftUni-Fest-2023

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Screenshot 1 Title

PaySol

This is a project made in 48 hours that earned us 2nd place out of ~200 competitors in SoftUni Software Fest 2023

đź’¬ Description

The Payment Service Application is a platform designed to facilitate online transactions between businesses and their clients. It enables businesses to register and configure their products or services for seamless payment processing, while allowing clients to discover merchants and make purchases using the Stripe platform and Metamask for crypto purchases. The application offers distinct interfaces for both business and client users within a unified environment, ensuring a smooth and efficient payment experience.

Running the project

đź’» Presentation Link

Link to the presentation (made in canva)

⚡ Powered by:

Screenshot 1 Title Screenshot 1 Title Screenshot 1 Title

Team

Technologies

  • ASP.NET Core 7.0: Framework for building web applications and services with .NET.
  • AutoMapper: A convention-based object-object mapper.
  • MailKit: A cross-platform mail client library for .NET.
  • Entity Framework Core: A modern object-database mapper for .NET.
  • Polly: A resilience and transient-fault-handling library.
  • Serilog: A diagnostic logging library.
  • Stripe.net: .NET client library for the Stripe API.

Running the Project

!Set The Environment in - Properties/launchsettings.json under the https
from "ASPNETCORE_ENVIRONMENT": "Development" to "ASPNETCORE_ENVIRONMENT": "Production"!

You will need to download the MetaMask extention for your browser. You will need a MetaMask wallet. For testing you can fund your wallet from sepoliafauscet. Uppon Business registration you have to fill your wallet id that can be found in the extention!

  • Screenshot 1 Title

- Screenshot 1 Title
For the Stripe connection you can just click the skip button for testing.
In order to run the project, you will need to add an `appsettings.json` file in the project's folder. It should look something like this:
If something doesent work as expected try commenting out the `await DatabaseMiddleware.MigrateDatabase(scope, app.Configuration, app.Logger);` row in the `Program.cs` file and run the `update-database` command in the pm console.
{
  "Logging": {
    "LogLevel": {
      "Default": "Information",
      "Microsoft.AspNetCore": "Warning"
    },
    "Urls": {
      "SeqServerUrl": "http://localhost:5341"
    }
  },
  "AllowedHosts": "*",
  "ConnectionStrings": {
    "DefaultConnection": "<insert your connection string>."
  },
  "Stripe": {
    "PublicKey": "pk_test_51O5kkhC2AQuDpkcCKNeCZpFgnecsVYSi5wKMkE6r4278nggXUkCcSknQ1PetNGftCUMuK4i8V3ioMGAdBcS8nABy00YXkmzWp6",
    "SecretKey": "sk_test_51O5kkhC2AQuDpkcC1Uf5g5GO5B9iQtnliBzu4pnnJpNJHShPckiFg82U31Vg5zItVjq1ld6JM2UPUgthjXjJrWJA00vek8CL7e",
    "ClientId": "ca_OtZObyUT5NlcNdDQNhF5chQlJcxGzQTX"
  },
  "EmailSending": {
    "SmtpServer": "smtp.gmail.com",
    "SmtpPort": 587,
    "SmtpUsername": "notiflexnoreply@gmail.com",
    "SmtpPassword": "eueuusntmpvxfahb",
    "FromName": "Insightify",
    "FromAddress": "notiflexnoreply@gmail.com"
  },
  "EtherScan": {
    "ApiKey": "NG1XRHGEXWADZBY2TJJGP2KFU7P3CEAZY1"
  }
}

Screenshots

Home Page

alt text

Business Register

alt text

Client Register

alt text

Log in

alt text

Stripe Payment

alt text

Etherium Payment

alt text

Business Dashboard

alt text alt text

Create Listing

alt text

Your Listings

alt text

Product Details (When the product is owned by your business)

alt text

Product Details (When you are client)

alt text

Payments

alt text

Retailers

alt text

About

Our project for SoftUnis Software Fest 2023.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published