NaTour is a moder social network for hiking enthusiasts based on an client-server architecture
- Google & Facebook authentication + local authentication using ROOM;
- Firebase analytics;
- Chatting capabilities;
- View, search & star hiking paths (also using OSM);
- A Personal customizable profile;
- Amplify (in order to have Google & Facebook support);
- OSM;
- Glide & ImageSlideShow;
- RX-Java.
- Spring Boot Started Web in order to create REST API;
- JPA for Database (Postgresql);
- Lombok annotation to avoid class polluting;
- ModelMapper for Entity
<-->
DTO conversion.
The server offer a way to dockerize the Database in order to reduce the difficulty of the configuration.
Below is provided the docker-compose.yml
file:
# A Docker Compose must always start with the version tag.
# We use '3' because it's the last version.
version: '3'
# You should know that Docker Compose works with services.
# 1 service = 1 container.
# For example, a service, a server, a client, a database...
# We use the keyword 'services' to start to create services.
services:
# The name of our service is "database"
# but you can use the name of your choice.
# Note: This may change the commands you are going to use a little bit.
database:
# Official Postgres image from DockerHub (we use the last version)
image: 'postgres:latest'
container_name: 'pg_db'
volumes:
- ./db-data/:/var/lib/postgresql/data/
# By default, a Postgres database is running on the 5432 port.
# If we want to access the database from our computer (outside the container),
# we must share the port with our computer's port.
# The syntax is [port we want on our machine]:[port we want to retrieve in the container]
# Note: You are free to change your computer's port,
# but take into consideration that it will change the way
# you are connecting to your database.
ports:
- 5432:5432
environment:
POSTGRES_USER: <TODO> # The PostgreSQL user (useful to connect to the database)
POSTGRES_PASSWORD: <TODO> # The PostgreSQL password (useful to connect to the database)
POSTGRES_DB: <TODO> # The PostgreSQL default database