All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Placeholder for upcoming features and improvements.
- Microservices Architecture: Implemented
DeviceService
,UserService
,AutomationService
, andEnergyService
to handle different domains within the OwnLightSystem. - API Gateway: Set up Ocelot as the API Gateway for routing, aggregation, and centralized security.
- Databases:
- Configured PostgreSQL for relational data in
UserService
,DeviceService
, andAutomationService
. - Set up MongoDB for NoSQL data in
EnergyService
.
- Configured PostgreSQL for relational data in
- DeviceService:
- Added endpoints for registering and controlling devices.
- Created database schema with
Devices
,DeviceActions
, andDeviceTypes
tables.
- UserService:
- Implemented user registration, login, and authentication.
- Designed database schema with
Users
,Roles
,UserRoles
, andRefreshTokens
tables.
- AutomationService:
- Developed functionality to manage routines, rooms, and groups.
- Established database schema with
Schedules
,Rooms
,Groups
, andScheduleActions
tables.
- EnergyService:
- Enabled monitoring of energy usage for devices, rooms, and groups.
- Created NoSQL collections:
EnergyUsageDevices
,EnergyUsageRooms
, andEnergyUsageGroups
.
- Documentation:
- Created comprehensive
README.md
with detailed architecture and usage instructions. - Added
ROADMAP.md
outlining future features and goals.
- Created comprehensive
- Miscellaneous:
- Included badges in
README.md
for build status, license, issues, and pull requests. - Set up Docker Compose configuration for containerization.
- Included badges in
- Initial setup and configuration of all microservices and the API Gateway.
- Updated documentation to include detailed architecture, usage examples, and project structure.
- N/A
- N/A
- N/A
- Implemented JWT-based authentication for secure access to microservices.
This Changelog is a living document and will be updated with each release.