Help us shape the future of Go! Take the 2026 Go Developer Survey

naqa-api

module
v1.4.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 27, 2024 License: MIT

README

Naqa API

Release

Naqa API is a RESTful service designed to provide data on the purification process of Saudi stocks.

Version Information

  • Version: 1.0.0
  • Environment: Development
  • Base API Path: /api/v1

Prerequisites

  • Go 1.23.4 or higher
  • Git
  • MongoDB

Quick Start

  1. Clone the repository:
git clone https://github.com/anqorithm/naqa-api
cd naqa-api
  1. Install dependencies:
go mod download
  1. Set up environment variables:
cp .env.example .env
# Edit .env with your configurations

Installation

  1. Clone the project.
  2. Install Go dependencies:
    go mod download
    

Environment

Set the following environment variables or edit the .env file:

  • MONGO_URI
  • MONGO_DATABASE
  • PORT

Usage

  1. Run the server:
    go run cmd/api/main.go
    
  2. Access the API at:
    http://localhost:3000/api/v1
    

Environment Variables

Before running the application, make sure to set up your environment variables:

# Copy the example env file
cp .env.example .env

# Fill in your environment variables in .env file:
API_VERSION      # API version
ENVIRONMENT      # development, production, etc.
PORT            # Server port
APP_NAME        # Application name
APP_DESCRIPTION # Application description
MONGO_URI      # MongoDB connection URI
MONGO_DATABASE # MongoDB database name

Running the Application

Local Development
go run cmd/api/main.go

Server will start at http://localhost:3000

Docker Setup
# Start services
docker-compose up -d

# Stop services
docker-compose down
Manual Docker Build
# Build image
docker build -t naqa-api .

# Run container
docker run -d -p 3000:3000 naqa-api

API Endpoints

Base URL

http://localhost:3000/api/v1

Available Endpoints
  • GET / - API information
  • GET /health - Health check
  • GET /users - Users endpoints
  • GET /tasks - Tasks endpoints

Development

Project Structure
.
├── cmd
│   └── api
│       └── main.go
├── docker-compose.yml
├── Dockerfile
├── docs
│   ├── docs.go
│   ├── swagger.json
│   └── swagger.yaml
├── go.mod
├── go.sum
├── internal
│   ├── config
│   │   ├── config.go
│   │   └── mongodb.go
│   ├── handlers
│   │   ├── handlers.go
│   │   └── stocks.go
│   ├── middleware
│   │   ├── middleware.go
│   │   └── year_validator.go
│   └── routes
│       └── routes.go
├── LICENSE
├── Makefile
└── README.md
Building for Production
go build -o naqa-api cmd/api/main.go

License

This project is licensed under the MIT License - see the LICENSE file for details.

Directories

Path Synopsis
cmd
api command
internal

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL