Skip to content

Latest commit

 

History

34 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FieldOps

FieldOps is a collaborative platform for infrastructure projects. It is built to pull scattered metrics, teams and insights into one organized hub. FieldOps brings order to projects by giving the team an overview of project health and performance, while ensuring the team collaborates from a position of understanding of the projects' needs and progress, while keeping the entire operation aligned from day one to handover.

Key Features

  • Everything In One Place: Pulls scattered project data and summaries into one workspace, providing an understanding of project health.
  • Collaborative Project Health: Understand the health of your operations through team coordination, communication, and automated reminders, keeping everyone aligned on objectives.
  • Corporate & Project History: Establish a historical footprint that preserves the legacy of projects and the company, ensuring past context and collaboration inform future success.

Tech Stack

The platform is built with a modern and robust technology stack:

Project Structure

This project is organized as a monorepo to simplify development and dependency management.

/
├── frontend/         # Next.js application
├── backend/          # FastAPI application
├── scripts/          # Additional scripts
└── ...

Getting Started

This project uses Nix to provide a consistent and reproducible development environment. All other dependencies, including Python, Node.js, and Redis, are managed automatically.

1. Initial Setup (First-Time Contributors)

If you don't have Nix installed, you must install it first. It's a one-time setup.

  • On macOS or Linux: Run the official installer from your terminal:
    sh <(curl -L https://nixos.org/nix/install) --daemon
    Follow the on-screen instructions.
  • On Windows: It is recommended to use the Windows Subsystem for Linux (WSL) and then follow the Linux instructions above inside your WSL terminal.

2. Clone the Repository

# Replace with the actual URL of your repository
git clone https://github.com/your-username/fieldops.git
cd fieldops

3. Enter the Development Environment

This project is configured to work with Nix-aware tools like Project IDX or by using the nix-shell command.

  • In Project IDX: The environment is activated automatically when you open the workspace. The Redis server is also started for you.
  • In a local terminal: Navigate to the project root and run:
    nix-shell

This command reads the .idx/dev.nix file and gives you a shell with all the tools (Python, Node, Redis) ready to go. You may need to start the Redis server manually by running redis-server --daemonize yes.

4. Configure Environment Variables

The backend requires API keys and other secrets. You need to create a .env file for local development.

  1. Navigate to the backend directory:
    cd backend
  2. Create a new file named .env.
  3. Copy the contents of backend/.env.example into your new .env file and fill in your secret API keys and database credentials.

5. Database Setup

Before running the application for the first time, you need to create the database tables. This project uses a script to initialize the database based on the SQLAlchemy models.

From the root of the project, run the following command:

python scripts/init_db.py

This will create all the necessary tables in your database.

6. Running the Development Environment

Once your environment and database are set up, you can run the application servers. These commands should be run from the root of the project.

Backend

In your terminal, run the following commands:

cd backend
python main.py

This will start the FastAPI server on http://localhost:8000. You should leave this terminal running.

Frontend

Open a new terminal window. In the new terminal, run the following commands from the project root:

cd frontend
npm install
npm run dev

This will start the Next.js development server on http://localhost:3000.

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages