VendorFlow is a web application designed to manage vendors, contacts, assignments, registrations, and payments. It is a full-stack application built with Ruby on Rails and React/Redux. It is a work in progress and is currently in the development phase.
-
As an admin, I want full CRUD functionality for vendors, contacts, assignments, registrations, sponsorships, and advertisements.
-
As a user, I want to be able to log in and out of the application.
-
As a user, I want to be able to see a list of assigned vendors.
-
As a user, I want to be able to see attached contacts for each vendor.
-
As a user, I want to be able to view vendor details including
- Contact information
- Assignment information
- Registration information
- Sponsorship information
- Current Status
- Advertisement information (if applicable)
-
As a user, I want to be able to send emails to vendors regarding their status, sponsorships, registrations, advertisements, etc.
-
As a vendor, I want to be able to log in and out of the application.
-
As a vendor, I want to be able to update my contact information.
Frontend
- React 18.2.0
- Redux
- RTK Query
- Axios (for setting jwt token in headers)
- TailwindCSS
- TinyMCE (for rich text editing)
Backend
- Ruby 3.1.0
- Rails (API) 7.0.4
- PostgreSQL
- Devise
- Devise-jwt (for authentication)
- Sidekiq (for background jobs)
- Redis (for Sidekiq)
- SendGrid (for sending emails)
- Clone the repo
- Make sure you have Ruby 3.1.0, Rails 7.0.4, and PostgreSQL installed
- Run
bundle install
to install the required gems - Run
rails db:create
to create the database - Migration and seed the database with
rails db:migrate db:seed
- Run
rails s
to start the server - In a separate terminal, navigate to the client directory and run
npm install
to install the required packages - To start the client, run
npm start