Skip to content

The "Photo Fortress" GitHub repository is a secure image upload and retrieval application built using TypeScript and MongoDB. This repository contains endpoints for uploading images (/upload) and retrieving images (/get_image) securely.

License

Notifications You must be signed in to change notification settings

Bestbynature/photo-fortress

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📗 Table of Contents


📖 Photo Fortress App

The "Photo Fortress" GitHub repository is a secure image upload and retrieval application built using TypeScript and MongoDB. This repository contains endpoints for uploading images (/upload) and retrieving images (/get_image) securely. It includes validation checks to ensure only image files are accepted for upload, with informative error messages provided for invalid file types. Error handling is implemented to address various issues, such as invalid credentials or database errors. The repository also includes documentation explaining how to use the API endpoints, including details on required request parameters and response formats. With features for storing images securely and efficiently, "Photo Fortress" offers a robust solution for managing and accessing image assets in web applications.

🛠 Built With

Tech Stack

Project languages and Libraries
  • TypeScript
  • JavaScript
FrameWork
  • Node.js
  • Express.js
  • Dotenv
  • multer
DataBase
  • MongoDB
  • Mongoose

Key Features

  • Secure image upload endpoint ('/upload')
  • Secure image retrieval endpoint ('/get_image')
  • Validation checks for image file types
  • Error handling for invalid credentials and database errors
  • Documentation for API endpoints ('/api/docs')

Live Demo

Please check back for the hosted version. The video demonstration is given below:

(back to top)

💻 Getting Started

To get a local copy up and running, follow these steps.

Setup

for cloning follow this steps

  • go to the green code button at the top left of this Repository
  • copy either SSH or https link depending on your preference and the previous setup you've made on your system
  • open your terminal and navigate into your desired folder
  • Then run git clone <copied link> command
  • or just download ZIP file
  • Create .env file in root directory and add your database connection string as MONGO_URI and your port number as PORT
  • Then run yarn install or npm install to install all dependencies

Usage

To run the project, execute the following command:

  • npm run dev or yarn dev to start the development server
  • A message should display on the terminal saying connected to database if the connection is successful.
  • Another message should be at the terminal saying Server running on port 3000 or the port you specified in the .env file
  • Open your browser and navigate to http://localhost:3000 to access the application.
  • You can now upload and retrieve images using the API endpoints provided in the documentation.
  • Click the get all Ids button to get a list of all the ids of the images you have uploaded and paste the id in the get image by id input field to get the image.
  • To upload an image, click the choose file button and select an image file from your local machine. Then click the upload button to submit the image.

(back to top)

Api Documentation

  • The API documentation is available at Api Documentation and provides comprehensive information on how to interact with the API endpoints to upload and retrieve images.

👥 Author

👤 Author: Damilare

🔭 Future Features

  • Add user authentication
  • Implement image resizing and compression
  • Add support for additional file types (e.g., PDFs, videos)
  • Implement image search functionality
  • Add support for image metadata (e.g., tags, descriptions)
  • Implement image sharing and collaboration features
  • Add support for image editing (e.g., cropping, filters)
  • Implement image categorization and organization features
  • Add support for image galleries and albums
  • Implement image versioning and rollback features
  • Add support for image annotations and comments

(back to top)

🤝 Contributing

Contributions, issues, and feature requests are welcome!

Feel free to check the issues page.

(back to top)

⭐️ Show your support

If you like this project please give it a star or buy me a coffee to show your support!

(back to top)

🙏 Acknowledgments

I appreciate Tobams Group for providing the inspiration for this work.

(back to top)

📝 License

This project is MIT licensed.

(back to top)

About

The "Photo Fortress" GitHub repository is a secure image upload and retrieval application built using TypeScript and MongoDB. This repository contains endpoints for uploading images (/upload) and retrieving images (/get_image) securely.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published