The application emulates the main features of Twitter:
- login, logout;
- account management (registration, editing, deleting, search by substring);
- main page (account properties, timeline, tweets, following, followers);
- tweet creating;
- follow/unfollow.
in several ways:
- Spring MVC, JSP
- Spring Boot, JSP
- Spring Boot, Angular
- JDK 8+
- Apache Maven 3.6.0+
- Node.js 12.16.1 (optional)
- Docker (optional)
-
Change directory:
cd twitter-emulation-spring-mvc-jsp
-
From the command line with Maven:
mvn jetty:run
(H2)
mvn jetty:run -P development
(H2)
mvn jetty:run -P production
(Oracle Database)
(Oracle Database connection properties:etc/jetty.xml
) -
Access the deployed web application at:
-
Log in with existing accounts (
jsmith/password
,jdoe/password
,rroe/password
,alone/password
) or create a new account
-
Change directory:
cd twitter-emulation-spring-boot-jsp
-
From the command line with Maven:
mvn spring-boot:run
(H2)
mvn spring-boot:run -P development
(H2)
mvn spring-boot:run -P production
(Oracle Database)
(Oracle Database connection properties:src/main/resources/application.yml
) -
Access the deployed web application at:
-
Log in with existing accounts (
jsmith/password
,jdoe/password
,rroe/password
,alone/password
) or create a new account
-
From the command line with Maven (in the root directory):
mvn clean install -Dmaven.test.skip=true
-
Change directory:
cd twitter-emulation-spring-boot-angular-server
-
From the command line with Maven:
mvn spring-boot:run
(H2)
mvn spring-boot:run -P development
(H2)
mvn spring-boot:run -P production
(Oracle Database)
(Oracle Database connection properties:src/main/resources/application.yml
) -
Access the deployed web application at:
-
Log in with existing accounts (
jsmith/password
,jdoe/password
,rroe/password
,alone/password
) or create a new account
-
Install Node.js
-
Run to ensure that npm is working:
npm -v
-
Change directory:
cd twitter-emulation-spring-boot-angular-server
-
From the command line with Maven:
mvn spring-boot:run
(H2)
mvn spring-boot:run -P development
(H2)
mvn spring-boot:run -P production
(Oracle Database)
(Oracle Database connection properties:src/main/resources/application.yml
) -
Change directory:
cd twitter-emulation-spring-boot-angular-web
-
From the command line with npm:
npm start
-
Access the deployed web application at:
-
Log in with existing accounts (
jsmith/password
,jdoe/password
,rroe/password
,alone/password
) or create a new account
-
Change directory:
cd twitter-emulation-spring-boot-admin
-
From the command line with Maven:
mvn spring-boot:run
-
Change directory:
cd twitter-emulation-spring-boot-angular-server
-
From the command line with Maven:
mvn spring-boot:run
-
Access Spring Boot Admin application at:
-
Install Docker (optional, only for Oracle Database testing)
-
Change directory:
cd twitter-emulation-common
-
From the command line with Maven:
mvn test
(H2)
mvn test -P development
(H2)
mvn test -P production
(Oracle Database)
-
Change directory:
cd twitter-emulation-spring-boot-angular-server
-
From the command line with Maven:
mvn test
-
Change directory:
cd twitter-emulation-spring-boot-angular-web
-
From the command line with npm:
npm run test
-
Change directory:
cd twitter-emulation-spring-boot-angular-web
-
From the command line with npm:
npm run e2e
- H2 Database Console
- Swagger:
- Spring:
- H2 or Oracle Database (data storage)
- Swagger (REST API documentation)
- JUnit (Java unit testing)
- Mockito (mocking for unit tests in Java)
- TestContainers (testing with Docker containers)
- Jasmine (JavaScript unit testing)
- Protractor (end-to-end testing for Angular)
- ToDoList 7.1.5+ (planning)
- Pencil 3.0.4+ (GUI prototyping)
- Violet 0.21.1 (UML diagrams)
See Habr (Russian)