Marketplace is a web-application that allows potential customers to search, order, and track delivery of groceries. Also, this application has a bunch of administrative and management features, each available to specific system accounts.
| User role | Description |
|---|---|
| Admin | A person who is responsible for account management. Admin can serve as product manager. |
| Product manager | A person who is responsible for product configuration. |
| Courier | A person who is responsible for delivery. |
| User | A customer of the system. ‘User’ = anonymous or authorized user ‘Authorized user’ = only authorized user. In all cases where ‘User’ is mentioned, it described common functionality. All special functions for authorized user are always written with ‘authorized user’. |
List of general features available to all users
- Interface of the system is designed to be used in Google Chrome, Mozilla Firefox, Opera web browsers.
- Adaptive and responsive design
- View product catalog
- View product details
- Login
- Create account
List of features available to all accounts
- View own profile and edit it
- Change password
- Logout
- View list of couriers and managers
- Add courier or product manager
- View and edit courier`s or product manager`s profile
- Change courier`s or product manager`s status
- Create product
- Edit product
- Deactivate product
- View list of assigned deliveries
- View delivery details
- Change delivery status
- Add product to shopping cart
- Change the quantity of a product or delete it from cart
- Add product to comparison
- Go to checkout and choose delivery date and time, and fulfil delivery details
- View order summary and confirm it
- Register or login
- Add product to shopping cart
- Change the quantity of a product or delete it from cart
- Add product to comparison
- Go to checkout and choose delivery date and time, and fulfil delivery details
- View order summary and confirm it
- View the list of incoming orders and order history
- View order details
Backend
- Java 8
- Spring Boot 2
- JWT
- PostgreSQL
- AWS S3
Frontend
- Angular 2
- Bootstrap
Deployment
- Travis CI
- Heroku
- Maven
To run this project, add enviromental variables and build it using Apache Maven version 3.3.9 or higher:
$ cd Marketplace
$ export DB_USERNAME="replace this"
$ export DB_PASSWORD="replace this"
$ export PROFILE="replace this"
$ export BASE_URL_SERVER="replace this"
$ export DEFAULT_ADMIN_MAIL="replace this"
$ export DEFAULT_ADMIN_PASSWORD="replace this"
$ export DEFAULT_USER_MAIL="replace this"
$ export DEFAULT_USER_PASSWORD="replace this"
$ export EMAIL_PASSWORD="replace this"
$ export EMAIL_PORT="replace this"
$ export EMAIL_USERNAME="replace this"
$ export BASE_URL_CLIENT="replace this"
$ export AWS_BUCKET_NAME="replace this"
$ export AWS_BUCKET_REGION="replace this"
$ export AWS_ACCESS_KEY="replace this"
$ export AWS_SECRET_KEY="replace this"
$ export GOOGLE_RECAPTCHA_SECRET="replace this"
$ export DEFAULT_COURIER_MAIL="replace this"
$ export DEFAULT_COURIER_PASSWORD="replace this"
$ export DEFAULT_MANAGER_MAIL="replace this"
$ export DEFAULT_MANAGER_PASSWORD="replace this"
$ mvn package
$ java -jar "target/marketplace-server-0.0.1-SNAPSHOT.jar"








