Skip to content

Latest commit

 

History

History
85 lines (69 loc) · 3.4 KB

README.md

File metadata and controls

85 lines (69 loc) · 3.4 KB

Cargo Service

Group project for iTechArt's internship. The application simplifies the processes associated with the transportation of freight and cargo. The system’s core features are creating invoices, waybills, acts, reports and charts about profits and losses. Using the app, users can access a wide range of interactive services, including trucks management, routes tracking, cargo management, documents flow management, users management, email service, notifications, complex reports.
Start date: 17 August 2020
Date of defence: 16 October 2020

Contributors: Vladislav M., Marianna P., Eugene B.

Getting Started

Backend

  1. Install development platform IntelliJ IDEA
  2. Install database PostgreSQL
  3. Download search engine Elasticsearch
  4. Clone the repository and open it in IntelliJ IDEA.
  5. Create databases cargo_db and cargo_db_test in PostgreSQL
  6. Run Elasticsearch (/elasticsearch/bin/elasticsearch.bat)
  7. (optional) Set aws.access_key_id and aws.secret_access_key in application.properties to be able to save avatars. You can also set other settings in the file application.properties.
  8. Run the application.

Frontend

  1. Install runtime environment Node.js
  2. (optional) Set GOOGLE_MAP_API_KEY in the file src/keys.json to be able to use google map
  3. Run the following commands:
    cd frontend
    npm install
    npm start
    

Docker

  1. Install Docker
  2. Run the following commands:
    cd root directory
    docker-compose up
    

Note:
On first launch in docker you need to create server (connection: db:5432) and databases cargo_db and cargo_db_test. After that rerun backend container or shut down all containers and run command docker-compose up

Additional information

Ports

  • Backend server - localhost:8080
  • Frontend client - localhost:3000
  • PostgreSQL - localhost:5432 (Docker - localhost:5433)
  • pgAdmin - localhost:80 (Docker - localhost:8090)
  • Elasticsearch - localhost:9200
  • Redis - localhost:6379

Application credentials

Type Login Password
PostgreSQL postgres root
Docker pgAdmin [email protected] root
ROLE_SYSADMIN [email protected] root
ROLE_ADMIN [email protected] root
ROLE_DISPATCHER [email protected] root
ROLE_MANAGER [email protected] root
ROLE_DRIVER [email protected] root
ROLE_COMPANY_OWNER [email protected] root

Technology Stack

  • Frontend: React.js, Redux.js, Material-UI, Highcharts, XLSX, Big Calendar
  • Backend: Java 11, Spring Boot, Spring Data JPA, Spring Security, Elasticsearch, Redis (message broker), AWS-S3, Liquibase, FreeMarker Template
  • Testing tools: JUnit, Mockito, Selenium
  • Database: PostgreSQL
  • Build tools: Maven, Docker
  • Management: Jira
  • Other protocols, API and technologies: REST API, Websockets, Google map API, OAuth2, JWT

Screenshots

  • Login page:

image

  • Users table:

image

  • Personal cabinet:

image