Skip to content

A side project where I am trying out Spring Boot, ASP.NET Core, Redis, PostgreSQL and Docker for the first time

License

Notifications You must be signed in to change notification settings

echoaman/FaCeBoOk

Repository files navigation

Facebook-clone

Tech Stack

Next.js ASP.NET Core Spring Boot Redis PostgreSQL MongoDB Docker

CLI commands

  • Redis: docker exec -it cache redis-cli -a <redis-password>
  • Mongodb: docker exec -it profile-database mongo -u <mongo-username> -p <mongo-password> --authenticationDatabase admin
  • Postgres: docker exec -it feed-database psql -U <postgres-username> postgres

Docker Commands

  • Remove all images: docker image rm $(docker images -aq)
  • Remove all containers: docker rm $(docker ps -aq)
  • Run all containers in dev: docker compose --env-file .env.dev up
  • Run all containers in prod: docker compose -f docker-compose.yml -f docker-compose.prod.yml --env-file .env.prod up

Environment Variables and Configuration Settings

.env

  • Has configurations for docker-compose.yml
  • Create .env.dev, .env.prod, etc based on .env.example
  • Configure all properties

appsettings.json

  • Has configurations for profile-service (ASP.NET Core Webapi)
  • Create appsettings.Development.json, appsettings.Production.json, etc based on appsettings.example.json
  • Configure CacheSettings:ConnectionString, DatabaseSettings:CollectionName, DatabaseSettings:ConnectionString and DatabaseSettings:DatabaseName

application.properties

  • Has configurations for feed-service (Spring Boot)
  • Create application-dev.properties, application-prod.properties, etc based on application-example.properties
  • Configure spring.datasource.url, spring.datasource.username, spring.datasource.password, spring.redis.host and spring.redis.password

All files must be created in the same directory as their example file