This web application helps a real estate photographer plan his/her photo shoot when they get a new job. It utilizes the TomTom API to generate a map based on the inputted address. It then tells the user how many photos to take based on square footage and a ballpark estimate on any flight restrictions for possible drone photos based on proximity to airports.
User can create profiles with a login password and create jobs that are saved to their profile. They can view these jobs via the “My Jobs” page.
This web app is built on the MERN stack, and I currently have the server and client hosted separately. The database structure is built with Mongoose and MongoDB. I used React Router to navigate through the different pages on the front end.
Future features soon to be added are ability to delete jobs, ability to modify job details, ability to upload photos via AWS S3 bucket, and ability to share viewable links to jobs with uploaded photos to potential clients.
Licensed under the The MIT License
Ensure that you have Node.js
and MongoDB
installed locally on your machine,then follow the instructions below:
npm i
, npm run install-client
, and npm run install-server
config/connection.js
and ensure that the correct mongoDB connection is listed per your local environment.In the client directory, navigate to vite.config.js
and list your proxy if running locally. For example, this is the proxy I had listed when running locally: server: {
host: true,
port: 5173,
proxy: {
'/api': {
target: 'http://localhost:3001',
changeOrigin: true,
secure: false,
` ws: true,
}
}
}`
( or see below: )
««»»
««»»
VITE_MAP_API_KEY1=
. This is the TomTom API key used to generate the map on the “Results” page. You will need to generate your own API key and place it in the .env file.apiBaseUrl
called in fetch requests to the server. If running locally, your proxy setup in step 3 will work instead of the environment variable being used to call the deployed server.npm run develop
to start up your server and client via concurrently.https://photoplanner.netlify.app/