Skip to content

DataCoreX is an open source framework for building scalable, ethical, and local first digital platforms. Whether you’re launching a fintech tool, an educational system, or a data driven app, DataCoreX gives you a modular foundation complete with frontend tooling, secure backend logic, and future-ready integrations.

License

Notifications You must be signed in to change notification settings

Lintshiwe/DataCoreX

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DataCoreX - Data Center Management Platform

License: MIT Java Spring Boot React

DataCoreX is a comprehensive data center management platform that provides organization management, storage solutions, node monitoring, and user authentication with a modern web interface.

🚀 Features

Core Features

  • Organization Management: Multi-tenant organization registration and management
  • User Authentication: JWT-based secure authentication system
  • Storage Management: File upload, storage, and management capabilities
  • Node Monitoring: Real-time data center node monitoring and health checks
  • Activity Logging: Comprehensive audit trail and activity logging
  • API Integration: RESTful APIs with API key authentication

Security Features

  • JWT token-based authentication
  • Role-based access control (Admin, Technician, User)
  • API key management and validation
  • Secure password encryption with BCrypt
  • CORS protection and security headers

Technical Features

  • Spring Boot backend with H2/PostgreSQL database support
  • React frontend with Material-UI components
  • Real-time WebSocket communication
  • Flyway database migrations
  • Comprehensive API documentation
  • Production-ready configuration

🛠 Technology Stack

Backend

  • Java 17+ - Programming language
  • Spring Boot 3.3.0 - Application framework
  • Spring Security - Authentication and authorization
  • Spring Data JPA - Data persistence
  • H2/PostgreSQL - Database options
  • Flyway - Database migrations
  • JWT - Token authentication
  • Maven - Build tool

Frontend

  • React 18.x - UI framework
  • Material-UI - Component library
  • JavaScript/TypeScript - Programming languages
  • WebSocket - Real-time communication
  • npm - Package manager

📋 Prerequisites

  • Java 17 or higher
  • Node.js 16+ and npm
  • Maven 3.6+
  • Git

🚀 Quick Start

1. Clone the Repository

git clone https://github.com/yourusername/DataCoreX.git
cd DataCoreX

2. Backend Setup

cd datacorex-backend

# Build the application
mvn clean install

# Run the backend
mvn spring-boot:run

The backend will start on http://localhost:8081

3. Frontend Setup

cd datacorex-frontend

# Install dependencies
npm install

# Start the development server
npm start

The frontend will start on http://localhost:3000

4. Access the Application

⚙️ Configuration

Environment Variables

Copy .env.template to .env and configure your environment:

cp .env.template .env

Key configuration options:

  • DB_URL - Database connection URL
  • JWT_SECRET - JWT signing secret (minimum 256 bits)
  • S3_ACCESS_KEY - AWS S3 access key (optional)
  • S3_SECRET_KEY - AWS S3 secret key (optional)

Database Configuration

The application supports both H2 (development) and PostgreSQL (production):

H2 (Default):

spring.datasource.url=jdbc:h2:file:./data/datacorex
spring.datasource.username=sa
spring.datasource.password=

PostgreSQL:

spring.datasource.url=jdbc:postgresql://localhost:5432/datacorex
spring.datasource.username=postgres
spring.datasource.password=your_password

🔧 Development

Backend Development

cd datacorex-backend

# Run with development profile
mvn spring-boot:run -Dspring-boot.run.profiles=dev

# Run tests
mvn test

# Build production JAR
mvn clean package -Pprod

Frontend Development

cd datacorex-frontend

# Start development server with hot reload
npm start

# Run tests
npm test

# Build for production
npm run build

📖 API Documentation

The API documentation is available at:

Authentication

The API supports two authentication methods:

  1. JWT Token (for web interface):

    # Login to get token
    curl -X POST http://localhost:8081/api/auth/login \
      -H "Content-Type: application/json" \
      -d '{"username":"admin","password":"password"}'
    
    # Use token in requests
    curl -H "Authorization: Bearer YOUR_JWT_TOKEN" \
      http://localhost:8081/api/users/profile
  2. API Key (for programmatic access):

    curl -H "X-API-Key: YOUR_API_KEY" \
      http://localhost:8081/api/organization/profile

🚀 Deployment

Using Docker (Recommended)

# Build and run with Docker Compose
docker-compose up -d

Manual Deployment

  1. Build the backend JAR: mvn clean package -Pprod
  2. Build the frontend: npm run build
  3. Deploy JAR file to your server
  4. Serve frontend build files with nginx/apache
  5. Configure environment variables
  6. Set up database (PostgreSQL recommended for production)

Environment-Specific Configuration

Create appropriate configuration files:

  • application-prod.properties for production
  • application-staging.properties for staging
  • Use environment variables for sensitive data

🧪 Testing

Running Tests

# Backend tests
cd datacorex-backend
mvn test

# Frontend tests
cd datacorex-frontend
npm test

Integration Testing

Use the provided test scripts:

# Test all API endpoints
./test-comprehensive-api.sh

# Test integration scenarios
./test-integration.sh

📁 Project Structure

DataCoreX/
├── datacorex-backend/          # Spring Boot backend
│   ├── src/main/java/          # Java source code
│   ├── src/main/resources/     # Configuration files
│   ├── src/test/               # Test files
│   └── pom.xml                 # Maven configuration
├── datacorex-frontend/         # React frontend
│   ├── src/                    # React source code
│   ├── public/                 # Static assets
│   └── package.json            # npm configuration
├── docs/                       # Documentation
├── .env.template              # Environment template
├── .gitignore                 # Git ignore rules
└── README.md                  # This file

🔒 Security

This application implements several security measures:

  • JWT-based authentication with configurable expiration
  • Password encryption using BCrypt
  • Role-based access control
  • API key authentication for programmatic access
  • CORS protection
  • SQL injection prevention through JPA
  • Input validation and sanitization

🤝 Contributing

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

📝 License

This project is licensed under the MIT License - see the LICENSE file for details.

🐛 Issues and Support

If you encounter any issues or need support:

  1. Check the existing issues
  2. Create a new issue with detailed information
  3. Include logs, configuration, and steps to reproduce

🙏 Acknowledgments

  • Spring Boot team for the excellent framework
  • React team for the UI library
  • Material-UI for the component library
  • All contributors and supporters of this project

📞 Contact


⭐ If you find this project helpful, please give it a star on GitHub!

# 🚀 Welcome to **DataCoreX**

_DataCoreX_ is your future-proof, modular full-stack platform. Designed to scale. Built to empower. Engineered for privacy-first data operations, educational flows, and fintech integrations — with a local-first twist.

> ✨ Crafted by [@Lintshiwe](https://github.com/Lintshiwe) — methodical, ethical, and always one step ahead.

---

## ⚙️ Tech Arsenal

| Layer    | Tech Stack                                    |
| -------- | --------------------------------------------- |
| Frontend | TypeScript · Next.js · HTML/CSS               |
| Backend  | Java · Node.js · Firebase                     |
| Tools    | VSCode · GitHub Actions (Coming Soon) · Linux |

---

## 🎯 Why DataCoreX?

🔐 **Privacy-Centric**: Every module respects user data  
🧩 **Modular**: Plug, play, scale. Simple.  
🌍 **Local-Ready**: Fintech + identity systems for African markets  
📚 **Educational Workflows**: Perfect for platforms that teach & grow  
🛡️ **Security First**: Ethical deployment baked in

---

## 🗂️ Project Map

DataCoreX/ ├── datacorex-frontend/ → Dynamic UI & UX ├── datacorex-backend/ → API & logic layer ├── .vscode/ → Dev setup ├── .env.example → Env blueprint └── .gitignore


---

## 🧠 Kickstart Guide

```bash
# Frontend setup
cd datacorex-frontend
npm install
npm run dev

☕ Pro tip: Start with frontend → plug in backend as modules mature.


🧰 Dev Notes

  • Backend configs: 🔜
  • Roadmap: CI/CD, containerization, plug-in modules
  • Core Values: Accessibility · Maintainability · Ethics

🤝 Contribute

DataCoreX is still in the lab — and your brilliance is welcome.
Hop into GitHub Issues or Discussions to suggest features, squash bugs, or propose fintech/API integrations.


💡 Want More?

Let’s add a splash of branding, diagrams, user journeys or onboarding guides.
Say the word — and we’ll cook up a landing experience that turns heads and converts users.


Want me to stylize this with badges, shields, or animated visual hints? Or convert this into a dev-friendly landing page? I’ve got you.

About

DataCoreX is an open source framework for building scalable, ethical, and local first digital platforms. Whether you’re launching a fintech tool, an educational system, or a data driven app, DataCoreX gives you a modular foundation complete with frontend tooling, secure backend logic, and future-ready integrations.

Topics

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published