ambiere / xcixtask

Modern and efficient RESTful to-do API built using the Fastify framework.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Introduction

Welcome to the xcixtask Todo API, a modern and efficient RESTful to-do API built with the Fastify framework. This API is designed to provide a seamless and user-friendly experience for managing your to-do tasks. With a focus on performance and ease of use, the xcixtask Todo API empowers you to effortlessly create, update, retrieve, and delete your to-do items, all while ensuring secure authentication and authorization. The xcixtask API is a versatile and efficient ToDo API developed using the Fastify framework. It provides a robust platform for managing tasks, enabling users to organize, create, update, retrieve, and delete tasks effortlessly. Designed with simplicity and performance in mind, this API offers a seamless experience for developers looking to integrate task management functionality into their applications.

Features: Task Management, User Authentication, Fast and Lightweight, Flexible Endpoints, Scalable and Customizable
Technologies: Fastify, @fastify/jwt, MongoDB, Swagger/OpenAPI
Usage: Personal Task Management Applications, Team Collaboration Platforms, Project Management Tools, Workflow Automation Systems

Test   Deployment   js-standard-style


1.0 Development

If you would like to run the API locally on your machine, follow the installation procedures below. Once set up, developers can explore the API endpoints, authenticate users, and start integrating task management functionalities seamlessly into their applications but before getting started, ensure you have the following prerequisites:

1 Node.js: Make sure Node.js is installed on your system. You can download it from nodejs.org.
2 pnpm (Perfomant Node Package Manager): Fast, disk space efficient package manager. Install pnpm globally by running npm install -g pnpm in your terminal/command prompt and verify pnpm by running pnpm -v. or refer to pnpm's installation guide from pnpm.io.
3 GitHub Account: Create or log in to your GitHub account to access the xcixtask API repository.
4 Docker: If you prefer running the API within a Docker container, install Docker Desktop or Docker Engine according to your operating system from docker.

1.1 Installation

Open your terminal or command prompt and run the following commands

git clone https://github.com/zhid0399123/xcixtask.git
cd xcixtask
pnpm install

Note Before starting the API remember to set up configuration. Refer to .env.example file to set up the necessary configurations.

1.2 Running the API

Once the dependencies are installed and the configuration is set up, use the following command to start the API server:

pnpm start
#or
pnpm run dev

The API should now be running locally. You can access the API endpoints via http://0.0.0.0:your-port.

2.0 Deployed API

The xcixtask API is deployed and accessible via HTTPS requests. To interact with the deployed API, use the following base URL to access the deployed API:

https://xcixtask.fly.dev

The deployed API requires authentication. Ensure you have necessary credential (access token) to include in your requests. To obtain valid token, you first have to register by making a POST request to https://xcixtask.fly.dev/v1/auth/register with username and password as the request payload.

curl -X POST -H "Content-Type: application/json" \
-d '{"username":"<username>", "password":"<password>"}' \
https://xcixtask.fly.dev/v1/auth/register

After successfully registration, you must authenticate to acquire the access token.

curl -X POST -H "Content-Type: application/json" \
-d '{"username":"<username>", "password":"<password>"}' \
https://xcixtask.fly.dev/v1/auth/authenticate

Explore Endpoints: Refer to the API Documentation for detailed information on available endpoints, request parameters, and response formats.

3.0 Example Request

Here's an example using cURL to create a new task on the deployed API:

curl -X POST -H "Content-Type: application/json" \
-H "Authorization: Bearer <access token>" \
-d '{"title": "Task Title"}' \
https://https://xcixtask.fly.dev/v1/todos

4.0 Contributing

We welcome contributions and suggestions to enhance the functionality and robustness of the xcixtask API. Please refer to the Contributing Guidelines to get started.

5.0 License

The xcixtask API is released under the MIT license. Refer to the LICENSE file for more details.

About

Modern and efficient RESTful to-do API built using the Fastify framework.

License:MIT License


Languages

Language:JavaScript 98.0%Language:Dockerfile 1.7%Language:Shell 0.3%