Skip to content

ARONAGENT/Focus_Forge_Backend

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

5 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🎯 Focus Forge Backend

"Success is the sum of small efforts, repeated day in and day out." - Robert Collier

License Spring Boot Spring AI PostgreSQL Docker OpenAI Visitors GitHub stars GitHub forks GitHub issues


πŸ“‹ Overview

Focus Forge is a revolutionary educational learning platform built with Spring Boot and powered by Spring AI, designed to transform the way students learn, track progress, and achieve their career goals.

πŸŽ“ The Problem

In today's world, many students want to study and improve themselves. But the biggest challenge is not studying β€” it is:

  • πŸ“Š Tracking daily progress - Monitoring what you've learned each day
  • πŸ”„ Maintaining consistency - Building and keeping study habits
  • πŸ’ͺ Staying disciplined - Overcoming procrastination and distractions
  • πŸ“ˆ Improving every single day - Continuous growth and development
  • πŸ—‚οΈ Managing the journey - Keeping everything organized and structured

Managing this journey becomes complex and unorganized.

πŸ’‘ The Solution

Focus Forge β€” a smart productivity platform designed specifically for students to:

  • Track their daily study activities and progress
  • Maintain consistency through intelligent reminders and insights
  • Visualize their learning journey with comprehensive analytics
  • Get AI-powered assistance for their study questions
  • Receive personalized weekly reports and recommendations
  • Stay motivated with goal tracking and achievement milestones

πŸ—ΊοΈ System Architecture

image

Database Schema Design - Complete system architecture showing relationships between entities


✨ Features

  • πŸ€– AI-Powered Chat Assistant - Get instant help with your studies using OpenAI integration
  • πŸ“š Study Room Management - Create and organize virtual study rooms for different subjects
  • πŸ“Š Progress Tracking - Monitor daily, weekly, and monthly learning progress
  • πŸ“ Smart Note Taking - Store and retrieve notes with vector embeddings for semantic search
  • πŸ“ˆ Weekly Reports - Automated weekly performance reports with insights and recommendations
  • 🎯 Goal Setting & Tracking - Set academic goals and track your journey towards them
  • πŸ’¬ Real-time Chat History - All your AI conversations stored and retrievable
  • πŸ” Secure Authentication - Spring Security implementation for user data protection
  • 🐳 Dockerized Deployment - Easy deployment with Docker containerization
  • πŸ” Vector Search - Advanced semantic search using PGVector for intelligent content retrieval

πŸ› οΈ Technologies

Technology Version Purpose
Spring Boot 3.x Backend Framework
Spring AI Latest AI Integration Layer
Spring Security 6.x Authentication & Authorization
PostgreSQL Latest Primary Database
PGVector Latest Vector Store for Embeddings
Docker Latest Containerization
OpenAI GPT-4 AI Chat & Embeddings
Maven 3.9+ Build Tool
Swagger 3.0 API Documentation

πŸ“Έ Project Screenshots

1. API Endpoints - Part 1

Complete REST API endpoints for user management and authentication

image

2. API Endpoints - Part 2

REST API endpoints for study rooms, progress tracking, and reports

image

3. API Endpoints - Part 3

image

4. Swagger Documentation

image > Interactive API documentation with Swagger/OpenAPI specification

5. DTOs & Data Models

image

Data Transfer Objects showcasing the application's data structure there are more

6. Study Room Database

study rooms

Study room information stored in PostgreSQL database

7. Chat Messages Database

chat msg stored in db

AI chat conversation history stored in the database

8. Vector Store

vector Store for Semantic Search > PGVector embeddings for semantic search functionality

9. Weekly Report Response

weekly report page

Sample weekly report and commit generated by the AI system


πŸš€ Installation

Prerequisites

  • Java 17 or higher
  • Maven 3.9+
  • Docker & Docker Compose
  • PostgreSQL with PGVector extension
  • OpenAI API Key
  • Git

Steps

  1. Clone the repository

    git clone https://github.com/ARONAGENT/Focus_Forge_Backend.git
    cd Focus_Forge_Backend
  2. Set up environment variables Create an application.properties or .env file:

    # Database Configuration
    spring.datasource.url=jdbc:postgresql://localhost:5432/focusforge
    spring.datasource.username=your_username
    spring.datasource.password=your_password
    
    # OpenAI Configuration
    spring.ai.openai.api-key=your_openai_api_key
    spring.ai.openai.chat.model=gpt-4
    
    # Vector Store Configuration
    spring.ai.vectorstore.pgvector.initialize-schema=true
    
    # Server Configuration
    server.port=8080
  3. Install PostgreSQL with PGVector

    # Using Docker
    docker run -d \
      --name focusforge-postgres \
      -e POSTGRES_DB=focusforge \
      -e POSTGRES_USER=your_username \
      -e POSTGRES_PASSWORD=your_password \
      -p 5432:5432 \
      ankane/pgvector
  4. Build the application

    ./mvnw clean install
  5. Run with Docker Compose (Recommended)

    docker-compose up -d

    OR

    Run locally

    ./mvnw spring-boot:run
  6. Access the application

    • API Base URL: http://localhost:8080
    • Swagger UI: http://localhost:8080/swagger-ui.html
    • API Docs: http://localhost:8080/v3/api-docs

πŸ’» Usage

API Endpoints

Integration with Frontend

This backend API can be integrated with any frontend framework:

  • React/Next.js
  • Angular
  • Vue.js
  • Mobile apps (React Native, Flutter)

link - > https://github.com/ARONAGENT/Focus_Forge_Frontend


πŸ”’ Security

Focus Forge implements robust security measures:

  • πŸ” JWT-based authentication
  • πŸ›‘οΈ Spring Security for endpoint protection
  • πŸ”‘ Password encryption with BCrypt
  • 🚫 CORS configuration
  • βœ… Input validation and sanitization
  • πŸ”’ Secure API key management

🀝 Contributing

Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

πŸ“„ License

MIT License

Copyright (c) 2026 ARONAGENT

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

πŸ™ Acknowledgments

  • Spring Boot Team - For the incredible framework that powers this application
  • Spring AI Community - For making AI integration seamless and developer-friendly
  • OpenAI - For providing powerful AI models through their API
  • PostgreSQL Team - For the robust and reliable database system
  • PGVector Contributors - For enabling vector similarity search in PostgreSQL
  • Open Source Community - For inspiration, tools, and endless support
  • Docker Community - For simplifying deployment and containerization
  • All Contributors - Who helped improve this project with their valuable feedback

Helpful Resources


πŸ“ž Contact

ARONAGENT


πŸ—ΊοΈ Roadmap

  • Core API Development
  • AI Integration with OpenAI
  • Vector Store Implementation
  • Weekly Reports Generation
  • Mobile App Integration
  • Real-time Notifications
  • Gamification Features
  • Social Learning Features
  • Advanced Analytics Dashboard
  • Multi-language Support

πŸ“Š Project Stats

GitHub repo size GitHub code size GitHub last commit GitHub commit activity


🌟 Star this repo if you find it helpful! ⭐

Built with ❀️ by ARONAGENT


Transform your learning journey with Focus Forge! πŸŽ―πŸ“š

About

Focus Forge is a revolutionary educational learning platform built with Spring Boot and powered by Spring AI, designed to transform the way students learn, track progress, and achieve their career goals.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages