{"id":26057318,"url":"https://github.com/pedrolustosa/flowspire","last_synced_at":"2025-06-23T19:05:18.392Z","repository":{"id":280532699,"uuid":"942282241","full_name":"Pedrolustosa/Flowspire","owner":"Pedrolustosa","description":"Platform for managing personal finances, tracking transactions, creating budgets, and connecting users with financial advisors.","archived":false,"fork":false,"pushed_at":"2025-06-02T03:12:27.000Z","size":8792,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-06-02T12:00:54.529Z","etag":null,"topics":["angular","api","bearer-tokens","bootstrap5","clean-architecture","csharp","ddd","dotnetcore","entityframeworkcore","hangfire","identity","jwt","oop","real-time","repository-pattern","serilog","signalr","sqlite","typescript"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Pedrolustosa.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-03-03T21:34:02.000Z","updated_at":"2025-06-02T03:12:31.000Z","dependencies_parsed_at":"2025-03-26T00:20:41.628Z","dependency_job_id":"09b362a3-ab9f-4274-a6e7-ceafd1f342f7","html_url":"https://github.com/Pedrolustosa/Flowspire","commit_stats":null,"previous_names":["pedrolustosa/flowspire"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Pedrolustosa/Flowspire","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Pedrolustosa%2FFlowspire","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Pedrolustosa%2FFlowspire/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Pedrolustosa%2FFlowspire/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Pedrolustosa%2FFlowspire/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Pedrolustosa","download_url":"https://codeload.github.com/Pedrolustosa/Flowspire/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Pedrolustosa%2FFlowspire/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261539318,"owners_count":23174135,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["angular","api","bearer-tokens","bootstrap5","clean-architecture","csharp","ddd","dotnetcore","entityframeworkcore","hangfire","identity","jwt","oop","real-time","repository-pattern","serilog","signalr","sqlite","typescript"],"created_at":"2025-03-08T11:08:13.506Z","updated_at":"2025-06-23T19:05:18.353Z","avatar_url":"https://github.com/Pedrolustosa.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Flowspire\n![Status](https://img.shields.io/badge/Status-In%20Development-yellow?style=flat-square)\n\n**Flowspire** is a modern personal finance management application designed to help users track income and expenses, create budgets, and interact with financial advisors in real-time. Built with **Clean Architecture** and **Domain-Driven Design (DDD)** principles, the application provides a secure, scalable foundation for both users and financial advisors.\n\n## 🎯 Project Overview\nFlowspire aims to provide a robust and intuitive platform that enables:\n- Comprehensive financial management with customizable categories, reports, and budgets\n- Real-time communication between customers and financial advisors through an integrated chat system\n- Secure authentication using JWT tokens with refresh token capability\n- Role-based access control (Administrator, FinancialAdvisor, Customer)\n- Enhanced user experience with real-time notifications and advanced validations\n\n## 🛠️ Technology Stack\n\n### Backend (API)\n- **Framework**: .NET 8.0\n- **ORM**: Entity Framework Core with SQLite database\n- **Authentication**: ASP.NET Identity with JWT tokens\n- **Real-time Communication**: SignalR for chat and notifications\n- **API Documentation**: Swagger/OpenAPI\n- **Validation**: FluentValidation\n- **Database**: SQLite (lightweight, perfect for development)\n\n### Frontend (APP)\n- **Framework**: Angular 18\n- **UI Components**: Bootstrap 5.3, ngx-bootstrap 18.0\n- **Icons**: Font Awesome 6.7.2\n- **Charts**: Chart.js 4.4\n- **PDF Generation**: jsPDF 3.0\n- **Notifications**: ngx-toastr 19.0\n- **Loading Indicator**: ngx-spinner 18.0\n- **Real-time Communication**: SignalR (@microsoft/signalr 8.0)\n\n## 🏗️ Architecture\n\nThe project follows **Clean Architecture** principles with a clear separation of concerns:\n\n### Backend Architecture\n```\nFlowspire-api/\n├── Flowspire.API             # Presentation layer (Controllers, Hubs)\n├── Flowspire.Application     # Application layer (Services, DTOs)\n├── Flowspire.Domain          # Domain layer (Entities, Interfaces, Hubs)\n├── Flowspire.Infra           # Infrastructure layer (Repositories, DB Context)\n└── Flowspire.Infra.IoC       # Dependency Injection configuration\n```\n\n### Frontend Architecture\n```\nFlowspire-app/\n├── src/\n│   ├── app/                  # Application components\n│   ├── assets/               # Static assets\n│   ├── environments/         # Environment configurations\n│   └── styles/               # Global styles\n├── server.ts                 # Server-side rendering configuration\n└── angular.json              # Angular configuration\n```\n\n### Key Features\n- **User Management**: Registration, authentication, and role-based authorization\n- **Financial Management**: Transactions, categories, and budgets\n- **Advisor Integration**: Customer-advisor relationships and communication\n- **Real-time Chat**: Integrated messaging system between customers and advisors\n- **Financial Reports**: Comprehensive financial analysis and reporting\n- **Responsive UI**: Modern interface that works across devices\n- **PDF Export**: Generate and download financial reports\n\n## 🚀 Getting Started\n\n### Prerequisites\n- [.NET 8 SDK](https://dotnet.microsoft.com/download/dotnet/8.0)\n- [Node.js](https://nodejs.org/) (LTS version)\n- [Angular CLI](https://angular.io/cli)\n- Visual Studio 2022 or another compatible IDE\n- SQLite (included, no additional installation required)\n\n### Installation\n\n#### Backend (API)\n1. **Clone the Repository**\n   ```bash\n   git clone https://github.com/pedrolustosa/Flowspire.git\n   cd Flowspire\n   ```\n\n2. **Restore Dependencies**\n   ```bash\n   cd Flowspire-api\n   dotnet restore\n   ```\n\n3. **Set Up the Database**\n   ```bash\n   dotnet ef migrations add InitialMigration --project Flowspire.Infra --startup-project Flowspire.API\n   dotnet ef database update --project Flowspire.Infra --startup-project Flowspire.API\n   ```\n\n4. **Run the API**\n   ```bash\n   cd Flowspire.API\n   dotnet run\n   ```\n\n5. **Access the API**\n   - Swagger UI: `https://localhost:5240/swagger`\n   - API Endpoints: `https://localhost:5240/api`\n\n#### Frontend (APP)\n1. **Install Dependencies**\n   ```bash\n   cd Flowspire-app\n   npm install\n   ```\n\n2. **Run the Application**\n   ```bash\n   ng serve\n   ```\n\n3. **Access the Application**\n   - Open your browser and navigate to: `http://localhost:4200`\n\n## 🤝 Contributing\n1. Fork the repository\n2. Create your feature branch (`git checkout -b feature/amazing-feature`)\n3. Commit your changes (`git commit -m 'Add amazing feature'`)\n4. Push to the branch (`git push origin feature/amazing-feature`)\n5. Open a Pull Request\n\n## 📄 License\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE.txt) file for details.\n\n## 🔗 Links\n- [Documentation](https://github.com/pedrolustosa/Flowspire/wiki)\n- [Issue Tracker](https://github.com/pedrolustosa/Flowspire/issues)\n\n---\nBuilt with ❤️ by [Pedro Lustosa](https://github.com/pedrolustosa)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpedrolustosa%2Fflowspire","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpedrolustosa%2Fflowspire","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpedrolustosa%2Fflowspire/lists"}