https://github.com/mastercloudapps-projects/tbd-social-networks-planner
https://github.com/mastercloudapps-projects/tbd-social-networks-planner
Last synced: 4 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/mastercloudapps-projects/tbd-social-networks-planner
- Owner: MasterCloudApps-Projects
- License: apache-2.0
- Created: 2021-09-27T10:00:00.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2021-12-22T10:35:27.000Z (over 3 years ago)
- Last Synced: 2025-01-24T11:44:46.043Z (5 months ago)
- Language: Java
- Size: 17.9 MB
- Stars: 0
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# TBD-SOCIAL-NETWORKS-PLANNER
This project consists in an application developed with the TBD technique, the application allows the user to interact with Twitter and Instagram by on demand or scheduled posting.
It is a monolith deployed in Heroku with a PostgreSQL database, we use that database to manage the posts images with the AWS S3 PAAS.
Here we have a schema of the application and its interactions with other systems, like Twitter API, Instagram API, Heroku or AWS.
## Deploy in local:
We have several profiles for local deploy and testing:
- test: For the test execution, with an H2 database. HTTPS is disabled
- dev: For the local testing, with an H2 database. HTTPS is enabled.
- flyway: For testing the Flyway scripts behaviour. We may run the following command to start a PostgreSQL database Docker container.
```
docker run -e POSTGRES_PASSWORD=postgres -p 5432:5432 -d postgres
```**HTTPS configuration:**
The project configuration allows us to work with HTTPS, that is why we should install the certificates located at root project: `keystore.p12` y `mycertificate.cer`.
**AWS S3 configuration:**
Using S3, implies that we should also configure the credentials file, if it is Linux or Mac, we will create it in `~/.aws/credentials`, if it is Windows, we will create it in `C:\Users\{tu_usuario}\.aws\credentials`. We have to add the following variables, `aws_access_key_id` and `aws_secret_access_key`, theese variables are provided by AWS, when you create an IAM user with programmaticaly acces and the AmazonS3FullAcces permission.
Finally, we should set some variables to be able to run the project:
- CONSUMER_KEY: Twitter API Consumer Key
- CONSUMER_SECRET: Twitter API Secret
- INSTAGRAM_ACCESS_TOKEN: Instagram/Facebook API token
- AWS_S3_BUCKET_NAME: S3 bucket name
- AWS_S3_REGION: S3 bucket region## More info ...
This application interacts with both Twitter and Instagram Graph Api. For each API we use a different way of communication.- Click [here](docs/ExternalAPIs.md) to know more about how we use Twitter and Instagram APIs, how you can be authenticated to post using tbd-networks-social-planner, etc.
- You can visit [here](https://ais-tbd-social-networks.herokuapp.com/swagger-ui.html) the Production Swagger deployed in Heroku and play with the app.
- See more about [GitHub Actions](docs/GitHubActions.md) used to apply CI/CD principles.