GithubHelp home page GithubHelp logo

beg-by / cargoservice Goto Github PK

View Code? Open in Web Editor NEW
2.0 2.0 0.0 3.95 MB

:truck: Cargo service - group project for iTechArt's internship

Java 39.85% HTML 0.11% CSS 1.84% JavaScript 57.99% FreeMarker 0.08% Dockerfile 0.13%
java11-maven spring-boot spring-security spring-data-jpa aws-s3 java-mail elasticsearch rest-api react-redux google-maps-api

cargoservice's Introduction

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

cargoservice's People

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.