Skip to content

eltonsantos/gestao-pagamentos

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 

Repository files navigation

GESTÃO DE PAGAMENTOS

Technologies   |    Getting started   |    Project   |    Endpoints   |    Features   |    Layout   |    Next steps


🧪 Technologies

This project was developed using the following technologies:

🚀 Getting started

Clone the project and access the folder

$ git clone https://github.com/eltonsantos/gestao-pagamentos.git && cd gestao-pagamentos

Follow the steps below

Backend

$ cd backend

# Install the dependencies
$ bundle install

# Create database
### Change database.yml to credentials your db
$ rails db:create

# Run migrations
$ rails db:migrate

# Run seed
$ rails db:seed

# Start the project
$ rails s

Run in localhost:3000

Frontend

$ cd frontend

# Install the dependencies
$ npm install

# Start the project
$ npm run dev

Run in localhost:5173

💻 Project

A full-stack system for managing payments and balances for merchants who conduct online sales. The platform will have various features, including the ability to register vendors, associate commissions, perform payment transactions, and view financial and customer data.

The application will consist of:

Front-End (React): User interface to view payments, register vendors, perform transactions, and view balances and commissions.

Back-End (Ruby on Rails): API to manage payment data, users (merchants and vendors), payment gateways (Mercado Pago and PagSeguro), commissions, and transactions.

📚 Endpoints

User Endpoints

  • GET /users

Returns a list of all registered users (admins and vendors). Permissions: Restricted access to administrators.

  • GET /users/:id

Returns the details of a specific user, identified by id. Permissions: Access allowed to the user themselves or administrators.

  • POST /users

Creates a new user (registers a vendor or admin). Permissions: Access allowed to anyone wishing to register.

  • PUT /users/:id

Updates the information of a specific user. Permissions: Access allowed to the user themselves or administrators.

  • GET /users/current

Returns the details of the authenticated user (the logged-in user). Permissions: Access allowed only to the authenticated user.

Customer Endpoints

  • GET /customers

Returns a list of all registered customers. Permissions: Restricted access to administrators.

Payment Endpoints

  • GET /payments

Returns a list of all completed payments. Permissions: Restricted access to administrators or users with permission to view payments.

  • GET /payments/:id

Returns the details of a specific payment, identified by id. Permissions: Access allowed to the user themselves or administrators.

  • GET /payments/top_selling_sellers

Returns the details of the top selling sellers. Permissions: Access allowed only admin.

  • GET /payments/sales_by_date

Returns the details of the sales by date. Permissions: Access allowed only admin.

  • POST /payments

Creates a new payment (executes a transaction). Permissions: Access allowed to vendors or administrators.

User Authentication

  • POST /login

Logs in a user. Permissions: Access allowed to any registered user.

  • POST /logout

Logs out a user. Permissions: Access allowed only to authenticated users.

  • POST /signup

Registers a new user. Permissions: Access allowed to anyone wishing to register.

🛠️ Features

  • Login and Logout (admin and vendor)
  • Register vendor
  • Edit vendor
  • Checkout
  • View payments
  • Filter payments
  • Copy payment link

🔖 Layout

gestao-pagamentos

gestao-pagamentos

gestao-pagamentos

🐾 Next steps

Escreverei essa parte em português
  • Cobrir o sistema de testes! 👁‍🗨
  • Alterar visual em dark/light mode 🌗
  • Layout responsivo 1️⃣
  • E muito mais... ❤💪🏼

👨🏻‍💻 Author


Elton Santos 🚀


Made with ❤️ by Elton Santos 👋🏽 Entre em contato!