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.
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 | :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: |
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 | ↗️ |