This project is the one built as a sample of final solution where integrating React, Spring-Boot and MongoDB
All following commands must be executed at the base folder
- Why do we use this project structure?
- Versions and Release Plan
- How to start with this project
- Requirements
- Profiles
- How to run project
- Database Details
- Coordinators
We have been applied this project structure in several projects and there some benefits from using it:
- Be able to extend and develop new features/functions at init new functions easily in short time.
- Can adapt new database in project with similar functions.
- Easy to manipulate the number of functions when providing the production for client.
- Migrate from component-based web application to micro-services system with few changes at framework layer itself.
- Avoid the conflict in code when working in team.
- Current version: v0.0.1 - Initial Stage
# | Name | Description | Status |
---|---|---|---|
1 | Init | Build project structure with base code, prepare documents, conventions will be applied in this project and configure github | On-going |
- Ensure that all the required programs are available.
- Build whole project with the corresponding profile.
- Execute following command in other to generate the Eclipse configuration for all modules projects
mvn eclipse:eclipse
- If you want to execute the application, move to main-app project and run this command
mvn spring-boot:run
These programs should be available to use this project
# | Programs | Version |
---|---|---|
1 | Java | 1.8+ |
2 | Maven | 3.5.4+ |
3 | NodeJS | 8.11.4+ |
4 | MongoDB | 4.0.1 |
There are 2 kind of profiles to build this project
- production: this build will provide the final product with all current source code.
- dev: this build will help developers reduce the project building time since only the related parts will be built.
mvn clean install -Pproduction
Note: this command must be executed at the first time after getting the code to generate the front end build.
mvn clean install -Pfrontend
This command will re-build the front end part and integrate with the final product
mvn clean install
This command will re-build only the back end part with the final product.
Execute following command
java -jar main-app/target/eRestaurant.jar
For debugging, execute following command and the debug port is 8000
java -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 -jar main-app/target/eRestaurant.jar
You can customize the database configuration at main-app/src/main/resources/application.properties
# | Info | Details |
---|---|---|
1 | host | localhost |
2 | port | 27017 |
3 | collection | e-restaurant |
# | Members | |
---|---|---|
1 | Quyen Phan | [email protected] |
2 | Lam Ho | [email protected] |