API Workspace is a RESTful API demonstration designed to showcase a GitHub Workspace integration. This project aims to provide a simple yet powerful interface for managing workspaces, tasks, user profiles, and work information. Key features include user authentication, task management, workspace customization, and work information management.
Please refer to requirements.txt
for specific version requirements.
To set up the project locally, follow these steps:
git clone https://github.com/igorcosta/api_workspace.git
cd api_workspace
pip install -r requirements.txt
uvicorn main:app --reload
This will start the API server, making it accessible on http://localhost:8000
. You can now use the API endpoints as defined in the project documentation.
To deploy this API using Docker, follow these steps:
Build the Docker image:
docker build -t api_workspace .
This command builds a Docker image named api_workspace
using the Dockerfile
in the current directory.
Run the Docker container:
docker run -p 80:80 api_workspace
This command runs the api_workspace
image as a container, mapping port 80 from the container to port 80 on the host machine.
For production deployment, consider setting environment variables within the Docker container to configure the application appropriately.
For advanced deployment options and troubleshooting, refer to the Docker documentation.
For a comprehensive list of Docker commands, visit the Docker commands documentation.
The API supports the following endpoints for managing work information:
Create a new work: POST /works
Retrieve work information: GET /works/{work_id}
work_id
parameter.Update work information: PUT /works/{work_id}
Delete a work: DELETE /works/{work_id}
work_id
parameter.These endpoints allow for the creation, retrieval, updating, and deletion of work information, providing a comprehensive management system for work-related data.
For a detailed guide on setting up and understanding the .github/workflows/issue_classification.yml
file, please refer to our tutorial: TUTORIAL_ISSUE_CLASSIFICATION.md. This tutorial is designed for level 100 users and provides step-by-step instructions on how to classify issues, apply labels, and customize the workflow for different repository needs.