Month_End_Automator

Month-End Close Automator

Description

A professional web application built to automate the month-end close process for accounting teams. This application streamlines transaction processing, generates comprehensive Excel reports, and provides a secure, user-friendly dashboard for managing financial data.

Live Application: https://month-end-automator-a7gpcmeucqacgzch.canadacentral-01.azurewebsites.net

Features

🔐 Authentication & Security

📊 Dashboard

📈 Reporting

🚀 Deployment

Architecture

This project follows a modular architecture for maintainability and scalability:

Core Files

Services

Templates

Installation

Prerequisites

Setup

  1. Clone the repository:
    git clone https://github.com/aminahamdani/Month_End_Automator.git
    cd Month_End_Automator
    
  2. Install dependencies:
    python -m pip install -r requirements.txt
    

Usage

Local Development

  1. Run the server:
    python -m uvicorn main:app --reload
    
  2. Access the application:
    • Open your browser to: http://127.0.0.1:8000
    • You’ll be redirected to the login page
  3. Login:
    • Username: amina
    • Password: amina0000
  4. Use the dashboard:
    • Upload transaction files (CSV or Excel)
    • View statistics and recent reports
    • Download generated reports

REST API Endpoints

Public Endpoints

Protected Endpoints (Require Authentication)

Deployment

Azure App Service

The application is deployed on Azure App Service with:

See AZURE_DEPLOYMENT.md for detailed deployment instructions.

Quick Deploy

See QUICK_DEPLOY.md for the fastest deployment method.

Documentation

Dependencies

Key dependencies (see requirements.txt for complete list):

Project Structure

Month_End_Automator/
├── main.py                 # FastAPI application
├── processor.py            # Data processing
├── reporter.py             # Report generation
├── errors.py               # Error handling
├── requirements.txt        # Dependencies
├── services/               # Service modules
│   ├── company_service.py
│   ├── audit_log.py
│   ├── reconciliation.py
│   └── transaction_cleaner.py
├── templates/              # HTML templates
│   ├── login.html
│   ├── dashboard.html
│   └── index.html
├── .github/workflows/      # CI/CD workflows
└── docs/                   # Documentation

Contributing

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

License

See LICENSE file for details.

Support

For issues or questions, please open an issue on GitHub.