Name | Nickname |
---|---|
Sergio de Oro Fernández | @keyland71 |
Laura María Camino Yuste | @Camyus027 |
Antonio José Alanís Bernal | @antonioalanxs |
Ikár Martínez de Lizarduy Kostornichenko | @KandV008 |
Miguel Ángel Sánchez Miranda | @MiguelAngelSM |
To organize the team, we use Trello.
Entire Twitter / X Responsive Clone built using Angular, Tailwind CSS, Spring Boot, MySQL and Docker for educational purposes.
-
Have Docker installed on your machine.
-
Have a Docker Hub account.
git clone https://github.com/antonioalanxs/Twitter-Clone
cd Twitter-Clone
-
Go to the docker directory.
cd Twitter-Clone/docker
-
Run build_and_push_image.sh setting your Docker Hub username, the name of the image and its version.
./build_and_push_image.sh antonioalanxs/Twitter-Clone:0.0.1
-
Finally, execute run_image.sh.
./run_image.sh
The Single-page application is now running on your localhost:8443/new. Additionally, a web with server-generated HTML and AJAX is running on your localhost:8443.
docker compose down
The application was turned off.
User | Username | Password |
---|---|---|
@admin | admin | adminpass |
@user | user | pass |
@antonioalanxs | antonioalanxs | examplePassword3 |
@Keyland71 | Keyland71 | examplePassword2 |
@ibai | ibai | ibai |
@Rubiu5 | Rubiu5 | rubius |
Click here to see the API REST documentation. Powered by Swagger.
- Anonymous: User which has not signed up in the application but still has access to a few functionalities.
- Registered: User who has already signed up in the application and has a wide variety of available functionalities.
- Admin: User who has the overall control of the platform, having the strongest set of permissions.
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), delete (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) |
Functional Requirements | Anonymous User | Registered User | Admin User |
---|---|---|---|
Sign up | ✔️ | ||
Log in | ✔️ | ✔️ | |
See the preview | ✔️ | ||
Search (using filters) | ✔️ | ✔️ | ✔️ |
See tweet information | ✔️ | ✔️ | ✔️ |
Interact with a tweet (retweet, like and comment) | ✔️ | ✔️ | |
Reply to a tweet | ✔️ | ✔️ | |
Save a tweet | ✔️ | ✔️ | |
Write a tweet | ✔️ | ✔️ | |
Delete a tweet | ✔️ | ✔️ | |
Visualize recommend users | ✔️ | ✔️ | ✔️ |
Receive notifications | ✔️ | ✔️ | |
Receive email notifications | ✔️ | ||
Visualize statistics | ✔️ | ||
Edit profile | ✔️ | ✔️ | |
Visualize profile | ✔️ | ✔️ | ✔️ |
Follow a profile | ✔️ | ✔️ | |
Visualize tendencies | ✔️ | ✔️ | ✔️ |
Ban users | ✔️ | ||
Unbanned users | ✔️ | ||
Delete tweets | ✔️ | ||
Verificate users | ✔️ | ||
Unverificate user | ✔️ |
-
Responsive Interface: Ensured optimal viewing and interaction across various devices, enhancing accessibility.
-
User-Friendly Interface: Ensure a seamless and enjoyable user experience, promoting easy navigation and interaction within the application.
-
Scalability: Built to handle a growing user base and data efficiently.
-
Availability: Ensures the application is available and accessible to users when needed.
-
Data should be durable with a SQL Database.
-
The size of a tweet is 240 characters at most.
-
Supports tweets comprising text and pictures.
Category | URI |
---|---|
[UC1] - Sign up and Log in | |
[UC2] - Admin permissions | |
[UC3] - General permissions | |
[UC4] - Registered permissions | |
[UC5] - User actions | |
[NM1] - General | |
[NM2] - Anonymous user | |
[NM3] - Administrator user | |
[NM4] - Sign up and Password recovery | |
Entity - Relationship | |
Relational Model | |
Classes | |
Angular Components and Templates |