OasisTrack is a comprehensive solution designed to address the challenges of food deserts by efficiently managing inventory and deliveries for stores in underserved areas. This system caters to both drivers and administrators, providing tools for route management, inventory tracking, and data analysis.
- Features
- Project Structure
- Getting Started
- Usage
- API Endpoints
- Mobile App
- Admin Web Interface
- Technologies Used
- Contributing
- License
- Secure account login
- Daily route and store information access
- Real-time price change notifications
- Inventory management (par levels, sales, shrinkage)
- Delivery comments and data submission
- Data correction capabilities
- Maintenance request submission (optional)
- Store and route management
- Sales agreement administration
- Global and local item pricing control
- Weekly invoice generation
- Comprehensive data access and analysis
OasisTrack/
├── src/
│ ├── OasisTrack.Core/
│ ├── OasisTrack.Infrastructure/
│ ├── OasisTrack.Application/
│ └── OasisTrack.WebApi/
├── tests/
└── README.md
For a detailed breakdown of the project structure, please refer to the Project Structure Document.
- .NET 8 SDK
- Node.js (v14 or later)
- Postgresql (or your preferred database)
- Android Studio (for mobile app development)
-
Clone the repository:
git clone https://github.com/yourusername/oasistrack.git cd oasistrack
-
Set up the .NET backend:
cd src dotnet restore dotnet build
-
Set up the Next.js frontend (for admin interface):
cd OasisTrack.Application npm install
-
Configure your database connection in
appsettings.json
in the API project. -
Run database migrations:
cd ../OasisTrack.WebApi dotnet ef database update
-
For the Android app, open the mobile project in Android Studio and follow the setup wizard.
- Start the API:
dotnet run --project OasisTrack.API
-
In a new terminal, start the Next.js dev server:
cd src/OasisTrack.Web npm run dev
-
Open your browser and navigate to
http://localhost:3000
- Build the Android app in Android Studio
- Deploy to tablets using your preferred method (e.g., Google Play Store, direct APK installation)
POST /api/auth/login
- User authenticationGET /api/driver/route
- Get driver's daily routeGET /api/driver/store/{id}
- Get store detailsPOST /api/driver/delivery
- Submit delivery dataPUT /api/driver/delivery/{id}
- Update delivery dataGET /api/admin/stores
- List all storesPOST /api/admin/store
- Create a new storePUT /api/admin/store/{id}
- Update store informationGET /api/admin/invoices
- Generate store invoices
For a complete list of endpoints, refer to the API documentation.
The Android mobile app is designed for drivers to:
- View their daily route
- Access store information
- Input delivery data
- Submit maintenance requests
The web interface allows administrators to:
- Manage stores and routes
- Control pricing and inventory
- Generate invoices
- Access and analyze data
- Backend: .NET 8, Entity Framework Core
- API: ASP.NET Core
- Admin Frontend: Next.js, React
- Mobile App: Android (Kotlin/Java)
- Database: Postgresql
- Authentication: JWT (JSON Web Tokens)
We welcome contributions to OasisTrack! Please read our CONTRIBUTING.md for details on our code of conduct and the process for submitting pull requests.
This project is licensed under the MIT License - see the LICENSE.md file for details.