{"id":23719646,"url":"https://github.com/fxaviergb/nikit-server","last_synced_at":"2026-04-28T12:02:05.726Z","repository":{"id":266421205,"uuid":"897712295","full_name":"fxaviergb/nikit-server","owner":"fxaviergb","description":"NikIT-Server is an AI-powered platform that processes content to create quizzes, flashcards, and personalized learning tools, optimizing study sessions and improving knowledge retention.","archived":false,"fork":false,"pushed_at":"2026-01-21T05:24:42.000Z","size":269,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2026-01-21T17:28:01.850Z","etag":null,"topics":["ai","chatgpt","java","jwt","rest-api","spring"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/fxaviergb.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-12-03T05:24:51.000Z","updated_at":"2026-01-21T05:24:46.000Z","dependencies_parsed_at":null,"dependency_job_id":"025a1f20-e8d8-4b4e-8ccf-55d549b63fa6","html_url":"https://github.com/fxaviergb/nikit-server","commit_stats":null,"previous_names":["fxaviergb/wisedroid-server"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/fxaviergb/nikit-server","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fxaviergb%2Fnikit-server","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fxaviergb%2Fnikit-server/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fxaviergb%2Fnikit-server/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fxaviergb%2Fnikit-server/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fxaviergb","download_url":"https://codeload.github.com/fxaviergb/nikit-server/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fxaviergb%2Fnikit-server/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32379629,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-28T11:25:28.583Z","status":"ssl_error","status_checked_at":"2026-04-28T11:25:05.435Z","response_time":56,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","chatgpt","java","jwt","rest-api","spring"],"created_at":"2024-12-30T21:53:25.992Z","updated_at":"2026-04-28T12:02:05.713Z","avatar_url":"https://github.com/fxaviergb.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 📚 nikit-server\n\nNikIT (Now I Know IT) Server is an AI-powered platform that processes content to create quizzes, flashcards, and personalized learning tools, optimizing study sessions and improving knowledge retention.\n\n---\n\n## 🚀 Features\n\n- **Intelligent Conversion**: Transforms content into quizzes and personalized flashcards.\n- **AI Integration**: Leverages AI models to adapt learning to user needs.\n- **REST API**: Provides an interactive API for web and mobile app integration.\n- **Swagger Documentation**: Includes auto-generated documentation to explore and test endpoints.\n\n---\n\n## 🛠️ Technologies\n\n- **Language**: Java\n- **Framework**: Spring Boot (version 3.4.0)\n- **Dependency Management**: Maven\n- **Database**: (Configurable, check project properties)\n- **Security**: Spring Security with JWT\n- **API Documentation**: Springdoc OpenAPI (Swagger UI)\n\n---\n\n## 📂 Project Structure\n\n- **`src/main/java`**: Main server source code.\n- **`src/main/resources`**: Project configurations, such as `application.properties`.\n- **`pom.xml`**: Maven dependencies and project configuration.\n- **`README.md`**: General project information.\n- **`.mvn/`**: Maven Wrapper files for environment consistency.\n- **`cicd/`**: Docker and deployment-related configuration (Dockerfile, docker-compose, scripts).\n\n---\n\n## ⚙️ Setup and Execution\n\n### **1. Prerequisites**\n\n- **Java 17** or higher.\n- **Maven 3.8** or higher (or use the included Maven Wrapper: `mvnw`).\n- **Docker** and **Docker Compose** installed and running.\n\n---\n\n### **2. Environment Configuration**\n\nCreate a `.env` file in the `cicd/` folder with the following structure:\n\n```env\nAPP_NAME=nikit-server\nSERVER_PORT=8080\nSPRING_PROFILES_ACTIVE=docker\nMONGODB_URI=mongodb://localhost:27017/nikit\n```\n\n\u003e Make sure MongoDB is accessible at the URI specified. You can use a local MongoDB installation or the container described below.\n\n---\n\n### **3. Run with Maven (Local)**\n\n```bash\n# Using Maven Wrapper (recommended)\n./mvnw spring-boot:run\n\n# Or standard Maven\nmvn spring-boot:run\n```\n\nThe server will be available at: `http://localhost:8080`\n\n---\n\n### **4. Run with Docker**\n\nAll Docker-related configuration is inside the `cicd/` folder.\n\n#### 🧱 Build and Run\n\nFrom the root of the project:\n\n```bash\n./cicd/start.sh\n```\n\nThis script will:\n- Compile the project with Maven\n- Build the Docker image\n- Start the application using Docker Compose\n\n---\n\n### 🧪 Optional: Run MongoDB Container for Local Testing\n\nIf you don’t have MongoDB installed locally, you can run it using Docker:\n\n```bash\ndocker run -d   --name mongo   -p 27017:27017   -e MONGO_INITDB_DATABASE=nikit   mongo:6.0\n```\n\n\u003e Make sure your `.env` file points to: `mongodb://localhost:27017/nikit`\n\n---\n\n### 👀 View Running Containers\n\nTo list all running services:\n\n```bash\ndocker ps\n```\n\nOr, using Docker Compose (inside `cicd/`):\n\n```bash\ndocker-compose ps\n```\n\n---\n\n### 📜 View Logs\n\nTo see logs of the `nikit-server` container in real-time:\n\n```bash\ndocker logs -f nikit-server\n```\n\nOr with Compose:\n\n```bash\ndocker-compose logs -f nikit-server\n```\n\nTo see logs of **all services**:\n\n```bash\ndocker-compose logs -f\n```\n\n---\n\n## 🔗 API Documentation\n\n- **Swagger UI**: `http://localhost:8080/swagger-ui`\n- **OpenAPI JSON**: `http://localhost:8080/api-docs`\n\n---\n\n## 🧪 Testing\n\nTo run tests locally:\n\n```bash\n./mvnw test\n```\n\n---\n\n## 🤝 Contributions\n\nContributions are welcome. To contribute:\n\n1. Fork the repository.\n2. Create a new branch for your changes:\n   ```bash\n   git checkout -b feature/new-feature\n   ```\n3. Submit a pull request describing your changes.\n\n---\n\n## 📜 License\n\nThis project is licensed under the [MIT License](LICENSE).\n\n---\n\n## 🛡️ Author\n\n**NikIT-Server** is maintained by the **TeamDroid** team.\n\n---\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffxaviergb%2Fnikit-server","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffxaviergb%2Fnikit-server","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffxaviergb%2Fnikit-server/lists"}