Logo Lanfrica

geekelo/starlinks-solution-api

Domain:

digital infrastructure

Record type:

software
Creator:
gee
Host:
This is an api built as a microservice to help starlink users in West Africa manage their kit activations and renew kit subscriptions. # Starlink Installation Solutions API ## Overview Starlink Installation Solutions API is a Ruby on Rails (RoR) application that provides backend support for managing Starlink installation requests, scheduling, user authentication, and related services. ## Features - User authentication (JWT-based or Devise-based authentication) - Installation request management - Technician scheduling and assignment - Job tracking and status updates - Payment processing integration (Stripe, PayPal, etc.) - Admin dashboard for managing users and installations ## Installation ### Prerequisites Ensure you have the following installed: - Ruby (>= 3.0) - Rails (>= 7.0) - PostgreSQL - Redis (for background jobs, if required) - Bundler ### Setup 1. Clone the repository: ```sh git clone github.com cd starlink-installation-api ``` 2. Install dependencies: ```sh bundle install ``` 3. Configure database: ```sh rails db:create db:migrate db:seed ``` 4. Start the server: ```sh rails server ``` ## API Endpoints ### Authentication - `POST /api/v1/signup` - Register a new user - `POST /api/v1/login` - Authenticate user and return a token - `POST /api/v1/logout` - Log out the current user ### Installation Requests - `GET /api/v1/installations` - Fetch all installation requests - `POST /api/v1/installations` - Create a new installation request - `PUT /api/v1/installations/:id` - Update an installation request - `DELETE /api/v1/installations/:id` - Delete an installation request ### Technicians & Scheduling - `GET /api/v1/technicians` - List all technicians - `POST /api/v1/schedules` - Schedule an installation - `PUT /api/v1/schedules/:id` - Update a scheduled job ## Environment Variables Create a `.env` file and configure the following: ``` DATABASE_URL=postgres://user:password@localhost:5432/starlink_db SECRET_KEY_BASE=your_secret_key REDIS_URL=redis://localhost:6379/0 STRIPE_API_KEY=your_stripe_key ``` ## Deployment ### Docker 1. Build and ru …