README.md#142
Open
IrankundaCatherine wants to merge 2 commits intobos-com:3-system-archfrom
Open
Conversation
Updates to the system Architecture
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Skip to content
IrankundaCatherine
GreenCode
Repository navigation
Code
Pull requests
Actions
Projects
Wiki
Security and quality
Insights
Settings
Comparing changes
Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.
...
Able to merge. These branches can be automatically merged.
Discuss and review the changes in this comparison with others. Learn about pull requests
2 commits
1 file changed
2 contributors
Commits on Sep 7, 2025
Merge pull request #5 from bos-com/3-system-arch
@RonaldRonnie
RonaldRonnie authored on Sep 7, 2025
Commits on Nov 13, 2025
docs: update README with frontend details (Fixes https://github.com/bos-com/GreenCode/issues/1[)](https://github.com/bos-com/GreenCode/commit/da8af83db2273888945bf576dc5b45585bde4393)
@kmuwanga83
kmuwanga83 committed on Nov 13, 2025
Showing with 27 additions and 278 deletions.
305 changes: 27 additions & 278 deletions305
README.md
Original file line number Diff line number Diff line change
@@ -1,288 +1,37 @@
GreenCode Backend
GreenCode
A robust Java backend application built with Spring Boot for the GreenCode project - an innovative platform focused on sustainable development and environmental initiatives.
GreenCode is a full-stack system designed to support environmental, sustainability, and community-impact projects under Bos-Com.
It consists of a Spring Boot backend API and a React frontend (new addition), with future integrations planned.
🎯 Project Overview
GreenCode is a comprehensive backend system designed to support environmental sustainability projects, green technology initiatives, and eco-friendly business operations. The platform provides robust APIs for managing environmental data, user authentication, and sustainable development metrics.
🚀 Features
🚀 Technology Stack
Backend (Spring Boot)
RESTful API
JWT/OAuth authentication
PostgreSQL database support
Centralised configuration (
config/,.env)Dockerized for easy deployment
Swagger/OpenAPI documentation
Java 17 - Modern Java with latest features
Spring Boot 3.2.0 - Rapid application development framework
Spring Security - Authentication and authorization
Spring Data JPA - Data persistence layer
H2 Database - In-memory database for development
PostgreSQL - Production database support
Maven - Dependency management and build tool
JWT - JSON Web Token authentication
Swagger/OpenAPI - API documentation
Spring Actuator - Application monitoring and metrics
Frontend (React)
📋 Prerequisites
🛠️ Quick Start
1. Clone and Setup
git clone https://github.com/bos-com/GreenCode.git cd GreenCode2. Build and Run
The application will start on
http://localhost:8080🏗️ Project Structure
🔧 Configuration
Environment Variables
Copy
.env.exampleto.envand configure:Database Setup
🌐 API Endpoints
Authentication
POST /api/auth/login- User loginPOST /api/auth/register- User registrationPOST /api/auth/refresh- Refresh tokenPOST /api/auth/logout- User logoutUser Management
GET /api/users- Get all usersGET /api/users/{id}- Get user by IDPOST /api/users- Create new userPUT /api/users/{id}- Update userDELETE /api/users/{id}- Delete userProject Management
GET /api/projects- Get all projectsGET /api/projects/{id}- Get project by IDPOST /api/projects- Create new projectPUT /api/projects/{id}- Update projectDELETE /api/projects/{id}- Delete projectHealth & Monitoring
GET /api/health- Application healthGET /api/metrics- Application metricsGET /api/info- Application information🔐 Security Features
🗄️ Database Schema
Core Tables
Key Features
🧪 Testing
🚀 Deployment
Docker Compose
Production Deployment
📊 Monitoring
/api/health🔄 Development Workflow
Feature Development
git checkout -b feature/new-featureCode Quality
mvn testmvn checkstyle:checkmvn dependency:checkDeployment
🤝 Contributing
Code Standards
📝 License
This project is licensed under the MIT License - see the LICENSE file for details.
├── src/ # Spring Boot source code
├── config/ # external configuration & scripts
├── docs/ # architecture, API docs
├── greencode-frontend/ # React frontend (new)
├── pom.xml # Maven build file
└── docker-compose.yml # Docker orchestration
🆘 Support
docs/folderFooter
© 2026 GitHub, Inc.
Footer navigation
Terms
Privacy
Security
Status
Community
Docs
Contact
Manage cookies
Do not share my personal information