Technologies | Getting started | Project | Endpoints | Features | Layout | Next steps
This project was developed using the following technologies:
- React
- Rails
- Vite
- Postgres
- Tailwind
- React Toastify
- React Router DOM
- React Paginate
- React Modal
- Chartsjs
- React Charts
- React Icons
- Devise
- Kaminari
- Faker
- JSONAPI Serializer
- Rack CORS
- Date FNS
Clone the project and access the folder
$ git clone https://github.com/eltonsantos/gestao-pagamentos.git && cd gestao-pagamentos
Follow the steps below
$ 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
$ cd frontend
# Install the dependencies
$ npm install
# Start the project
$ npm run dev
Run in localhost:5173
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.
- 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.
- GET /customers
Returns a list of all registered customers. Permissions: Restricted access to administrators.
- 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.
- 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.
- Login and Logout (admin and vendor)
- Register vendor
- Edit vendor
- Checkout
- View payments
- Filter payments
- Copy payment link
- Cobrir o sistema de testes! 👁🗨
- Alterar visual em dark/light mode 🌗
- Layout responsivo 1️⃣
- E muito mais... ❤💪🏼