The objetive is to replicated the Social Media Twitter with some upgrades for the user experience.
Name | Nickname | |
---|---|---|
Sergio de Oro Fernández | s.deoro.2021@alumnos.urjc.es | @keyland71 |
Laura María Camino Yuste | lm.camino.2020@alumnos.urjc.es | @Camyus027 |
Antonio José Alanís Bernal | aj.alanis.2020@alumnos.urjc.es | @antonioalanxs |
Ikár Martínez de Lizarduy Kostornichenko | iv.martinez.2021@alumnos.urjc.es | @KandV008 |
Miguel Ángel Sánchez Miranda | ma.sanchezm.2021@alumnos.urjc.es | @MiguelAngelSM |
To organize the team, we are using Trello
User | Tweets | People | Hashtags | Notifications |
---|---|---|---|---|
Anonymous | Read | Read(See their profile) | Read (can search them and read the impressions) | Nothing |
Admin | Read, write (their own), detele (every tweet) | Read, delete, write (their own profile) | Read, write | Read |
Registered | Read, write (their own), delete (their Own) | Read, write (their own profile) | Read, write | Read |
Permissions | Affects to |
---|---|
Images | All registered users can upload images |
Graphics | Admin users can consult graphics with the statistics of the web (Number of new registered users) |
Complementary Technologies |
---|
Mail Sender |
Requirements | Anonymous User | Registered User | Admin User |
---|---|---|---|
Sign up | :heavy_check_mark: | ||
Log in | :heavy_check_mark: | :heavy_check_mark: | |
See the preview | :heavy_check_mark: | ||
Search (using filters) | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
See tweet information | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
Interact with a tweet (retweet, like and comment) | :heavy_check_mark: | :heavy_check_mark: | |
Reply to a tweet | :heavy_check_mark: | :heavy_check_mark: | |
Save a tweet | :heavy_check_mark: | :heavy_check_mark: | |
Write a tweet | :heavy_check_mark: | :heavy_check_mark: | |
Delete a tweet | :heavy_check_mark: | :heavy_check_mark: | |
Visualize recommend users | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
Receive notifications | :heavy_check_mark: | :heavy_check_mark: | |
Receive email notifications | :heavy_check_mark: | ||
Visualize statistics | :heavy_check_mark: | ||
Edit profile | :heavy_check_mark: | :heavy_check_mark: | |
Visualize profile | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
Follow a profile | :heavy_check_mark: | :heavy_check_mark: | |
Visualize tendencies | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
Ban users | :heavy_check_mark: | ||
Unbanned users | :heavy_check_mark: | ||
Delete tweets | :heavy_check_mark: | ||
Verificate users | :heavy_check_mark: | ||
Unverificate user | :heavy_check_mark: |
Color | User Movement |
---|---|
🔵 | All users |
🟢 | Registered Users |
🔴 | Admin Users |
git clone https://github.com/CodeURJC-DAW-2022-23/webapp8.git
cd webapp8
cd ProjectBackEnd\src\main\java\com\TwitterClone\ProjectBackend
javac ProjectBackendApplication
Section | Value |
---|---|
Port | 3306 |
User name | Admin |
Password | password |
Note: If you have selected to not let the server to run when the system starts you can run the server with Windows R and execute the command "services.msc". In the list you can find MySQL server and run it.
Enviroment Variable |
---|
SPRING_MAIL_PASSWORD=APasswordForTheMail |
JWT_SECRET=secret |
Requirements |
---|
MySQL v.8.0.32 |
JDK 17 |
Spring Boot 2.7.4 |
IDE |
User | Username | Password |
---|---|---|
@admin | admin | *adminpass* |
@user | user | *pass* |
@antonioalanxs | antonioalanxs | *examplePassword3* |
@Keyland71 | Keyland71 | *examplePassword2* |
@ibai | ibai | *ibai* |
@Rubiu5 | Rubiu5 | *rubius* |
Figure 26 - DataBase
Figure 27 - Class Diagram
URLs | api-docs.yaml | In Production | For Developers |
---|
git clone https://github.com/CodeURJC-DAW-2022-23/webapp8.git
cd webapp8/docker
./run_image.sh
git clone https://github.com/CodeURJC-DAW-2022-23/webapp8.git
cd webapp8/docker
./build_and_push_image.sh accountName/imageName:version
# | Commit | # | File | |
---|---|---|---|---|
1º | Reformat AJAX from notifications and hashtags | 1º | DBInitializer.java | |
2º | Fix followers and followed page | 2º | Dockerfile | |
3º | Fix DBInitializer for Docker | 3º | docker-compose.yml | |
4º | Add docker-compose file | 4º | ajax.js | |
5º | Add Dockerfile | 5º | ProfileService.java |
# | Commit | # | File | |
---|---|---|---|---|
1º | Add Dockerfile | 1º | DBInitializer.java | |
2º | Add docker-compose file | 2º | Dockerfile | |
3º | Fix DBInitializer for Docker | 3º | docker-compose.yml | |
4º | Update build_and_push_image.sh | 4º | build_and_push.sh | |
5º | Update README.md with Docker documentation | 5º | run_image.sh |
Is Needed |
---|
Node.js |
Angular |
Before to execute Angular, is needed to execute the API REST. To do that, is necessary to follow the indication of execution of the backend.
With that configurated, now we can start with Angular:
Zero, you need to download Angular to execute this web application.
npm install -g @angular/cli
First, you need to clone the project and redirect to the ProjectFrontEnd directory.
git clone https://github.com/CodeURJC-DAW-2022-23/webapp8.git
cd webapp8/ProjectFrontEnd
Second, you need to install all the necessary modules.
npm install
Third, you need to execute angular with the proxy
npm start
Connect to the virtual machine using the command:
ssh -i appWeb-08 [email protected]
Clone the repository in the virtual machine with the following command:
git clone https://github.com/CodeURJC-DAW-2022-23/webapp8.git
Go to the docker folder inside the repository tha you just clone:
cd webapp8/docker/
Execute the following command to run the docker-compose file:
docker-compose up -d
The application will be accesible in the following URLs: https://10.100.139.97:8443/new (SPA) https://10.100.139.97:8443 (Mustache)
To stop the deployment, run the following command:
docker-compose down
# | Commit | # | File | |
---|---|---|---|---|
1º | Fix Tweet list component error | 1º | left-bar.component.ts | |
2º | Refactor | 2º | bookmarks.component.ts | |
3º | Refactor some components | 3º | router.ts | |
4º | Upgrade Left bar component | 4º | app.component.ts | |
5º | Fix bars components | 5º | index.component.ts |