Skip to content

gscerveira/QuoteTracker

Repository files navigation


Project license

Pull Requests welcome code with love by gscerveira

Table of Contents

About

This project aims to provide a simple way to keep track of quote requests for suppliers within whatever project you are working on. The user can create projects and add items to them, each item will belong to a store, and the user can keep track of the quote request status for the items with a simple drag-and-drop functionality.

The goal is to simplify the management of these requests, allowing the user to see clearly the status of each request, thus avoiding delays and missed steps in the process.

Screenshots

[?] Please provide your screenshots here.

Login/Register Page Dashboard Page

Built With

The back-end of this project consists of a REST API, built with the Django Rest Framework, it provides three endpoints (projects, stores, and items) for controlling the quote requests' status and three endpoints (login, logout and register) for user authentication, which is handled by Django's session authentication system.

The front-end is built with React.js, and it consists of two pages, one for login/registration and another with a dashboard for managing the projects and quote requests. The front-end consumes the API through Axios. The UI is built using MUI (Material UI) components.

In order to avoid CORS issues, Nginx was used to route both the front-end and the back-end through the same domain.

The project is containerized with Docker, and the containers are managed with Docker Compose, in order to keep a consistent development environment and to facilitate deployment. For development, there are four containers (front-end, back-end, database, and Nginx), and for production, there are three (front-end, back-end, and Nginx).

The app is hosted on AWS, deployed by pulling the Docker images from Docker Hub and running them on an EC2 instance. The database (PostgreSQL) is hosted on RDS.

A simple Github Actions workflow is in place, which runs tests (Pytest) on the API's endpoints before merging a pull request to the main branch.

For API Schema generation, Swagger is used, with the help of the DRF-Spectacular package. The Swagger UI can be accessed here.

Usage

To access and use the app, you can visit the live demo.

Authors & contributors

The original setup of this repository is by Gabriel Cerveira.

For a full list of all authors and contributors, see the contributors page.

Security

Quote Request Tracker follows good practices of security, but 100% security cannot be assured. Quote Request Tracker is provided "as is" without any warranty. Use at your own risk.

License

This project is licensed under the MIT license.

See LICENSE for more information.

About

No description, website, or topics provided.

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published