def df_to_geojson(df, geometry, coordinates, properties):
    """
    Convert a pandas DataFrame to a GeoJson dictionary.

    Parameters
    ----------
    df : pandas DataFrame
        DataFrame containing the geojson's informations.
    geometry : String
        The type of the geometry (Point, Polygon, etc.).
    coordinates : String
        The DataFrame column's name of the coordinates.
    properties : list of String eelements.
        The DataFrame column's names of the properties attributes.

    Returns
    -------
    geojson : Dict
        GeoJson dictionary with the geometry, coordinates, and properties elements.
    """
    
    geojson = {'type': 'FeatureCollection', 'features': []}
    for _, row in df.iterrows():
        feature = {'type':'Feature',
                    'properties':{},
                    'geometry': {'type': geometry,
                                'coordinates': coordinates}}

        for prop in properties:
            normalize_prop = prop.lower().split('.')[-1]
            feature['properties'][normalize_prop] = row[prop]
        geojson['features'].append(feature)
    
    return geojson