AMT_Project
AMTech Project
The AMTech Project is a school practical project that aims to extend our skills on web app development and team work.
Explore the wiki »
Table of Contents
About The Project
We developed an e-commerce website, selling high-tech consumer products. Here is our home page :
Built With
Getting Started
Prerequisites
You need the following components to use the projet, please make sure you have installed them :
- Java 11
- Maven 3.6.0
- Docker
- IDE of your choice (we used IntelliJ IDEA)
Installation
Production version
Ask the team for AWS SSH connection instructions.
No installation needed, see usage to use the web app in production version.
Development version (local)
- Clone the repo.
git clone https://github.com/Ga-3tan/AMT_Project.git
- Start the local mongoDB database in a docker container.
#Run this command in AMT_Project/db-dev/ docker-compose up -d
- The app authentication procedures works in combination with another service. If you want to try the webapp with the authentication feature you will also have to install the following project: Authentication service project (follow instructions on the project README for installation)
Usage
Production version
- Follow the team’s instructions to establish a SSH connection with the application, then you can connect to it with the following address : http://localhost:8081.
- Play with the app (to try the app in admin privileges, please contact the team).
Development version
- Open the project in your favorite IDE.
-
You’ll need to configure your AWS S3 bucket secret accesses in the
S3Config.java
file and change the bucket properties in theapplication.properties
file. -
If you use the authentication service, you will need to add the JWT secret to the environment variable of your IDE (or in the application.properties) and adapt ligne 17 of the
JwtUtil.java
file accordingly (set it to the defined environment variable or property in the application.properties). The JWT secret can be found in theCustomAuthenticationFilter.java
file of the Authentication service project (you can change it if you want). - Run the Application with your IDE.
- Connect to the application with the following address : http://localhost:8080.
- Play with the app (to try the app in admin privileges, see the README of the Authentication service project).
Contributing
- Clone the repo
git clone https://github.com/Ga-3tan/AMT_Project.git
- Start the local mongoDB database in a docker container
#Run this command in AMT_Project/db-dev/ docker-compose up -d
- In the project root, enable git flow (use default configuration)
#AMT_Project/ git flow init
- Create a branch (see below), open your favorites IDE and start coding
- If needed, clone the Authentication service
git clone https://github.com/Alessandro-AP/JWTAuthentication.git
- See here (point 2) to setup the JWT secret.
New Feature
- Use git flow to create features
git flow feature start feature_branch
- To end a feature and merge it in the develop branch
git flow feature finish feature_branch
Release branch
Once a feature is ready for a release, a release branch is forked off of the develop branch by using the following command:
git flow release start '[version tag]'
Once the release is ready to ship, it will get merged it into main and develop, then the release branch will be deleted.
git flow release finish '[version tag]'
Note: It’s important to merge back into develop because critical updates may have been added to the release branch and they need to be accessible to new features.
Hot fix branch
Hotfix branches are a lot like release branches and feature branches except they’re based on main instead of develop. This is the only branch that should fork directly off of main.
As soon as the fix is complete, it should be merged into both main and develop (or the current release branch), and main should be tagged with an updated version number.
A hotfix branch can be created using the following methods:
git flow hotfix start hotfix_branch
Then merge the branch to main and develop branch as usual:
git checkout main git merge hotfix_branch git checkout develop git merge hotfix_branch git branch -D hotfix_branch
Once done, use the following command to finish the hot fix branch:
git flow hotfix finish hotfix_branch
Contact
Alessandro Parrino
Daniel Sciarra
Marco Maziero
Gaétan Zwick
Anh Mai Hoang
Project Link:
https://github.com/Ga-3tan/AMT_Project
License
Distributed under the MIT License. See LICENSE.txt
for more information.
(back to top)