The Photo Annotation System is a web application designed to manage and annotate images efficiently. It provides a RESTful API for uploading, annotating, and retrieving images, as well as tracking annotations by class.
- Image Management: Upload and store images with metadata such as filename, path, width, and height.
- Annotation: Annotate images by marking them as annotated or unannotated.
- Image Details: Retrieve details of an image, including width and height.
- Class Tracking: Keep track of annotated images for different classes.
- Class Management: Add new classes to classify images.
- Node.js
- PostgreSQL or a compatible database
-
Clone the repository:
git clone https://github.com/progressive-galib/labelerx-api.git
-
Install dependencies:
cd photo-annotation-system npm install
-
Configure your database connection by updating the
DATABASE_URL
environment variable in your.env
file. -
Initialize the database schema:
npx prisma migrate dev
-
Populate the database with classes using the initializer:
npm initialize
-
Start the server:
npm start
-
Access the API at http://localhost:3000/api.
The API documentation is available at http://localhost:3000/api-docs using Swagger UI.
- Use the provided API to manage and annotate your images.
- Interact with the Swagger documentation for API testing and exploration.
This project is licensed under the ISC License - see the LICENSE.md file for details.
- Prisma - Database toolkit for Node.js and TypeScript
- Express.js - Web application framework for Node.js
- Swagger - API documentation and testing tools