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.
- Install development platform IntelliJ IDEA
- Install database PostgreSQL
- Download search engine Elasticsearch
- Clone the repository and open it in IntelliJ IDEA.
- Create databases
cargo_db
andcargo_db_test
in PostgreSQL - Run Elasticsearch (
/elasticsearch/bin/elasticsearch.bat
) - (optional) Set
aws.access_key_id
andaws.secret_access_key
inapplication.properties
to be able to save avatars. You can also set other settings in the fileapplication.properties
. - Run the application.
- Install runtime environment Node.js
- (optional) Set GOOGLE_MAP_API_KEY in the file
src/keys.json
to be able to use google map - Run the following commands:
cd frontend npm install npm start
- Install Docker
- 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
- 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
Type | Login | Password |
---|---|---|
PostgreSQL | postgres | root |
Docker pgAdmin | admin@gmail.com | root |
ROLE_SYSADMIN | sysdmin@gmail.com | root |
ROLE_ADMIN | admin@gmail.com | root |
ROLE_DISPATCHER | dispatcher@gmail.com | root |
ROLE_MANAGER | manager@gmail.com | root |
ROLE_DRIVER | driver@gmail.com | root |
ROLE_COMPANY_OWNER | owner@gmail.com | root |
- 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
- Login page:
- Users table:
- Personal cabinet: