Skip to content

compilex1/salesforce-automation-dotnet-8

Repository files navigation

Sales Force Automation (SFA) Boilerplate

A modern, scalable Sales Force Automation solution built with .NET 8, React, and PostgreSQL, designed for Azure deployment.

🚀 Technology Stack

Backend

  • .NET 8 with ASP.NET Core Web API
  • PostgreSQL with Entity Framework Core
  • Azure AD authentication
  • Swagger/OpenAPI documentation
  • Clean Architecture pattern

Frontend

  • React 18 with TypeScript
  • Material-UI components
  • Tailwind CSS for styling
  • Redux Toolkit for state management
  • React Testing Library for testing

Infrastructure

  • Azure cloud deployment
  • Docker containerization
  • GitHub Actions CI/CD

📁 Project Structure

SalesForceAutomation/
├── src/
│   ├── Backend/                    # .NET 8 API projects
│   │   ├── SalesForceAutomation.API/
│   │   ├── SalesForceAutomation.Core/
│   │   ├── SalesForceAutomation.Infrastructure/
│   │   └── SalesForceAutomation.Application/
│   └── Frontend/                   # React application
│       └── salesforce-automation-client/
├── tests/                          # Test projects
├── docs/                           # Documentation
├── scripts/                        # Azure deployment scripts
└── docker/                         # Docker configuration

🛠️ Prerequisites

  • .NET 8 SDK
  • Node.js 18+ and npm
  • PostgreSQL 14+
  • Docker Desktop
  • Azure CLI
  • Visual Studio 2022 or VS Code

🚀 Quick Start

1. Clone and Setup

git clone <repository-url>
cd SalesForceAutomation

2. Backend Setup

cd src/Backend
dotnet restore
dotnet build

3. Frontend Setup

cd src/Frontend/salesforce-automation-client
npm install
npm start

4. Database Setup

# Using Docker
docker-compose up -d postgres

# Or connect to existing PostgreSQL instance
# Update connection string in appsettings.json

5. Run Backend

cd src/Backend/SalesForceAutomation.API
dotnet run

📚 Features

  • Lead Management - Create, track, and convert leads
  • Opportunity Management - Sales pipeline and deal tracking
  • Account & Contact Management - Customer relationship database
  • Activity Tracking - Notes, calls, and task management
  • Dashboard - Key metrics and performance insights
  • Role-based Access Control - Secure user management

🔐 Authentication

This project uses Azure AD for authentication. Configure your Azure AD app registration and update the settings in appsettings.json.

🧪 Testing

Backend Tests

cd tests/Backend.Tests
dotnet test

Frontend Tests

cd src/Frontend/salesforce-automation-client
npm test

📖 API Documentation

Once the backend is running, access Swagger documentation at:

  • Swagger UI: https://localhost:7001/swagger
  • OpenAPI JSON: https://localhost:7001/swagger/v1/swagger.json

🚀 Deployment

Azure Deployment

cd scripts
./deploy-to-azure.ps1

Docker Deployment

docker-compose up -d

🤝 Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Add tests
  5. Submit a pull request

📄 License

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

🆘 Support

For support and questions:

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published