Backend of the OSM Full-Stack Platform, developed as part of my Bachelor's Final-Year Project (PFE).
The platform was designed to automate product file transfers and upload processes while providing centralized management of users, catalogs, contracts, statistics and operation history.
The backend handles the application's business logic, data management, scheduled operations, FTP communication and integration with the Angular frontend.
The project addresses the need to automate repetitive product data transfer processes that previously required manual intervention.
The proposed solution provides a centralized system capable of:
- Automating CSV/TXT file transfers through FTP
- Scheduling product upload operations
- Managing product catalogs
- Monitoring upload processes
- Tracking operation history
- Managing users and business roles
- Generating alerts when transfer operations fail
- Providing business data for dashboards and statistics
- Automated transfer of CSV/TXT files through FTP
- Detection and processing of new files
- File movement and transfer operations
- Continuous automated processing without manual intervention
- Automated scheduled product uploads
- Periodic execution of file processing tasks
- Upload history tracking
- Monitoring of scheduled operations
- Detection of failed transfer operations
- Detailed failure notifications
- Alert traceability
- Operation monitoring to facilitate troubleshooting
Support for different application roles, including:
- Administrator
- Sales Representative
- Commercial User
The system provides functionality for authentication, user management and profile management according to business requirements.
- Product catalog management
- Product consultation and search
- Catalog validation workflows
- Product data processing from uploaded files
- Contract management
- Contract consultation
- Business data access for authorized users
- Business statistics management
- Sales and upload process monitoring
- Operation history tracking
- Data exposure for frontend dashboards
The backend follows a layered architecture:
Spring Controllers → Services → DAO / Data Access → Database
The application communicates with:
- 🌐 Angular frontend through HTTP services
- 📂 FTP server for automated file transfers
- 🗄️ Relational database for persistent application data
This separation helps maintain a structured architecture between API endpoints, business logic and data access.
- Java
- Spring
- REST APIs
- Relational Database
- FTP Integration
- Scheduled Tasks / Batch Processing
- DAO Architecture
- The system searches for new product files on the FTP server.
- CSV/TXT files are transferred and processed automatically.
- Scheduled tasks trigger product upload operations.
- Product and catalog information is stored and managed by the backend.
- Users access business data through the Angular frontend.
- Upload history and statistics are recorded for monitoring.
- Failed operations generate alerts to facilitate troubleshooting.
The project is divided into two main applications:
- 🌐 OSM Frontend — Angular web interface
- ⚙️ OSM Backend — Spring backend, business logic, database and FTP automation
This project was developed as my Bachelor's Final-Year Project (PFE).
It allowed me to work on a complete Full-Stack architecture involving frontend development, backend services, database management, REST communication, FTP integration and business process automation.
Meriem Bembli
Full-Stack & Mobile Application Developer