Skip to content

mohitkumarsahni/todo-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

41 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ToDo-API

An API for creating and managing tasks.

The API can perform following operations:

  • Create a new task-list.
  • Update a task-list.
  • Fetch a task-list.
  • Delete a task-list.
  • Create a new task in a task-list.
  • Update a task in a task-list.
  • Fetch a task.
  • Fetch all tasks in a task-list.
  • Delete a task in a task-list.

Please see the openapi contract for API endpoints and details.

Prerequisites

Install Java 11

  • This application requires Java 11.
  • Please refer to the following link to download and install Java-11: Java-11

Install & Setup Database

  • This application requires MySQL 8.
  • Please refer to the following link to download and install MySQL-8: MySQL-8
  • To create database and user you can run following script: db_setup.sql

Running the application

  • Clone the repository.
  • Open the project in IntelliJ IDEA or any suitable IDE of your choice.
  • Add following environment variables in configurations:
    • DB_HOST
    • DB_NAME
    • DB_PASSWORD
    • DB_PORT
    • DB_USERNAME
  • In IntelliJ IDEA, environment variables can be added from Run -> Edit Configurations -> Environment Variables
  • Run the project.

Build & run with Docker on Ubuntu

  • Install Docker from: Docker

  • In terminal switch to project directory.

  • Use following command: docker build -t todo-api:1.0.0 .

  • Above command will build the image.

  • Now run the following command:

    sudo docker run todo-api:1.0.0 -e "DB_HOST=<DB_HOST>" -e "DB_PORT=<DB_PORT>" -e "DB_NAME=<DB_NAME>" -e "DB_USERNAME=<DB_USERNAME>" -e "DB_PASSWORD=<DB_PASSWORD>" -p 8080:8080 -d

  • Change the actual variable value in angle brackets.

  • It will spin up a container which can be accessed on http://localhost:8080/

Pending Work

  • Unit Testing
  • How to deploy with docker on ubuntu
  • How to deploy with Azure Web App Service
  • Authorization & Authentication

Releases

No releases published

Packages

No packages published
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy