An open API service indexing awesome lists of open source software.

https://github.com/muthukumar89uk/go-todo-app

This is a todo application implemented by the Golang and fiber web framework. In it, we can use the Postgresql database to store the to-do tasks.
https://github.com/muthukumar89uk/go-todo-app

bcrypt-encryption fiber-framework golang jwt-authentication postgresql-database rest-api todolist-application

Last synced: about 2 months ago
JSON representation

This is a todo application implemented by the Golang and fiber web framework. In it, we can use the Postgresql database to store the to-do tasks.

Awesome Lists containing this project

README

        

## General view about the Todo list Project

This is a todo list project built using the fiber web framework in Golang.

The project provides RESTful APIs for user authorization in posting tasks

The backend includes functionalities to sign up, login, task posting, update task , delete task.

## Technology Stack

The Todo list Real Time Exercise Task project is built using the following technologies:

- **Golang**: The backend is written in Go (Golang), a statically typed, compiled language.

- **fiber**: The fiber web framework is used to create RESTful APIs and handle HTTP requests.

- **JWT**: JSON Web Tokens are used for secure user authentication and authorization.

- **bcrypt**: Passwords are stored securely in hashed form using the bcrypt hashing algorithm.

- **postgres**: PostgreSQL is an advanced, enterprise class open source relational database that supports both SQL and JSON querying.
It is a highly stable database management system, which has contributed to its high levels of resilience,and correctness.

## Getting Started

### Installation

1. **Clone the repository:**

```
git clone https://github.com/muthukumar89uk/go-todo-app.git
```
Click here to directly [download it](https://github.com/muthukumar89uk/go-todo-app/zipball/master).

### Install dependencies:

go mod tidy

### Run the Application
1. Run the Server

```
go run .
```
2. The server will start on `http://localhost:8080`.

## Project explanation

- the user can sign up and login
- user can post his task details
- user can update and delete his task details
- user can filter date and status to see his task details

The following API endpoints are available in this project:

- **POST /signup**: Register a new user account.

- **POST /login**: Log in with registered credentials and receive a JWT token.

- **POST /posttask**: Post task details (user Authorization required).

- **GET /updatetask**: user can update his task details (user Authorization required).

- **GET /deletetask/:id**: user can delete his task details (user Authorization required).

- **PUT /gettasksbydate/:id**: user can filter date and status to see his task details(user Authorization required).