Skip to content

Uplink Documentation

This directory contains all documentation for the Uplink project.


Directory Structure

📂 deployment/

Current production deployment documentation - DOCKER_DEPLOYMENT.md - Current Docker deployment guide with disaster recovery - ServerSetupLog.md - Production server setup log (uplink.sensational.systems) - Uplink2.0_UpgradeLogs.md - Log of actual steps taken during Uplink 2.0 upgrade

Start here for: Deploying code changes, setting up new servers, troubleshooting production


📂 development/

Development and testing documentation - API.md - API endpoints and authentication - TESTING.md - How to run tests

Start here for: Working with the API, running tests


📂 business-logic/

Business rules and feature documentation - Services.md - How Uplink Services work (SIM cards, IoT services) - MinStockLevels.md - Minimum stock level calculation logic - OrderStateMachine.md - Order state machine documentation - Orders_StateMachine.drawio.xml - Visual diagram of order states

Start here for: Understanding how features work, business requirements


📂 planning/

Future plans and roadmaps - Uplink3.0_CustomStore_PLAN.md - Plan to replace PrestaShop with custom store

Start here for: Understanding future direction


📂 archive/

Outdated or superseded documentation - PRODUCTION_DOCKER_MIGRATION.md - Old guide for migrating to Docker (completed) - UBUNTU_24_FRESH_SETUP.md - Old parallel operation migration guide (completed) - Uplink2.0_PLAN.md - Original Uplink 2.0 upgrade plan (completed) - DEPLOYMENT.md - Old deployment guide (superseded by DOCKER_DEPLOYMENT.md)

Note: These docs are kept for historical reference but are no longer current.


Need to deploy code changes?
→ deployment/DOCKER_DEPLOYMENT.md

Setting up a new production server?
→ deployment/DOCKER_DEPLOYMENT.md - Section 3: "New Server Setup"

Need to understand the API?
→ development/API.md

Want to understand how Services work?
→ business-logic/Services.md

Troubleshooting production issues?
→ deployment/DOCKER_DEPLOYMENT.md - Section 6: "Troubleshooting"


Production Status (Current)

Production Server: uplink.sensational.systems
Current Branch: main (Uplink 2.0 - fully Dockerized)
Stack: Docker with 6 containers (web, daphne, huey, redis, nginx, certbot)
Web Server: gunicorn with 4 workers
SSL: Let's Encrypt (auto-renewal configured)
Database: DigitalOcean MySQL cluster (external, not containerized)

All services operational as of: February 24, 2026


Documentation Standards

When creating new documentation:

  1. Place it in the appropriate folder:
  2. Production deployment → deployment/
  3. Development tools/APIs → development/
  4. Feature explanations → business-logic/
  5. Future plans → planning/
  6. Outdated docs → archive/

  7. Include these sections:

  8. Clear title and purpose
  9. Last updated date (if frequently changing)
  10. Prerequisites (if any)
  11. Step-by-step instructions
  12. Troubleshooting section (if applicable)

  13. Keep docs up to date:

  14. Mark outdated docs clearly
  15. Move superseded docs to archive/
  16. Update production status when it changes

  17. Link between docs:

  18. Use relative links: [text](../folder/file.md)
  19. Reference related documentation
  20. Update this README when adding new docs