Skip to content

A simple image annotation app. Made with React, Parse-Server and Express.

License

Notifications You must be signed in to change notification settings

clickade/simple-annotation-app

Repository files navigation

Simple Image Annotation App

A simple image upload and annotation app. Made with ReactJS and Parse Server.

App built and tested on Firefox, Chrome and Edge (Windows 10).

How To Setup This App

Required installs

  1. Ensure MongoDB Server v5.0.5+ is installed and running on default port 27017.
  2. Ensure NodeJS v16+ is installed.
  3. To install all app dependencies, open a Command window andexecute the following command:
     $ npm install
    

Host and run app

  1. Start the server by double-clicking the run-server.bat file.
    • Alternatively, open a Command window and execute the following command:
        $ cd src/server
        $ node .
      
  2. Start the client hosting service by double-clicking the run-client.bat file. A browser window will open and the client page will load, indicating the hosting service is running correctly.
    • Alternatively, open a Command window and execute the following command:
        $ npm start
      

(OPTIONAL) Database live view

  1. A live view of the database can be accessed via parse-dashboard
  2. To install parse-dashboard, open a Command window and execute the following command:
    $ npm install -g parse-dashboard
    
  3. Before running the dashboard, first ensure the server script is running. (See above: Host and run app)
  4. Navigate to the src/server folder and double-click on launch-dashboard.bat

How To Use This App

User registration

First-time visitors to the app will greeted by the registration page.

Registration Page

Enter your desired username (alphanumeric characters only) and password.

Re-enter your password to confirm it.

Registration Complete

Click on the Register Me button to complete the registration. If successful, you will be brought to your personal projects page.


User login

First-time visitors to the app will greeted by the registration page.

Click on the Login button to navigate to the user login page.

Login Page

Enter your username and password.

Login Complete

Click on the Login button to complete the login. If successful, you will be brought to your personal projects page.

If your user credentials are incorrect, simply re-enter the correct credentials.


User logout

If you are logged in, the Logout button can be found on the top navigation panel.

Logout Button

Click on the Logout button to logout.

Logout Complete


User create new project

If you are logged in, the + Create New Project button can be found below the My Projects page title.

Create New Project Button

Click on the button and a page prompt will appear. Type in your desired project title and click OK.

Create Project Prompt

A new project will be created and you will be brought to the empty project page.

Create Project Complete


User select an existing project

If you are logged in, the buttons for your existing project can be found below the My Projects page title.

Project Buttons

Click on your desired project button and you will be navigated to that project's page.

Another Project Page


User upload images

If you are logged in and have created at least one existing project, the + Upload New Images button can be found below the My Projects page title.

Another Project Page

Click on the button and an upload window will appear. Select the images you want to upload to the project and click Open.

Upload Window

If successful, new images will be displayed automatically. Otherwise, re-click on the project button to refresh the page.

Upload Complete


User annotate images

If you are logged in, have created at least one existing project, and have uploaded at least one image, the images for the currently selected project will be displayed.

Image Display

Click on an image you desire to annotate. A full-sized image will pop up.

Full Image

Click and drag across a feature of the image. A dropdown menu will appear. Select the category that best represents the feature.

Annotation In-Progress

Once complete, the feature will be labelled on the image.

Annotation Complete


User download image annotation data

Annotated images can be identified by a solid yellow border. Non-annotated images have dashed white borders.

Annotated vs Non-Annotated Images

Select an annotated image and click on the Download CSV button at the bottom of the full image to download the annotation coordinates.

Annotation Complete

The downloaded CSV file is structure as follows:

Annotation CSV

You can also download the entire projects' annotation data by clicking on the Download CSV [ All Images ] button the project's page.

Annotation CSV

How To Configure This App

Environment settings

The .env file encapsulates the port used for the app. Note that the default address is localhost:3000.

Building the app

If you prefer not using the default create-react-app CD/CI hosting service, you can build the app by executing the command:

$ npm run build

Client-side source files will be compiled and a build folder will be created / updated with the current version of the app. Test for the correctness of the app by opening the build/index.html file in a new browser window.

External Libraries Used

The following NodeJS libraries were used to support the functions of the app:

Client-side

Server-side

About

A simple image annotation app. Made with React, Parse-Server and Express.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published