{"id":30102880,"url":"https://github.com/ret2hell/unicloud","last_synced_at":"2026-04-12T03:39:41.117Z","repository":{"id":306149772,"uuid":"965226966","full_name":"Ret2Hell/UniCloud","owner":"Ret2Hell","description":"AI-powered academic cloud platform for students and staff to manage, share, and chat with documents.","archived":false,"fork":false,"pushed_at":"2026-02-04T18:03:56.000Z","size":1866,"stargazers_count":0,"open_issues_count":2,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-04-12T03:38:48.932Z","etag":null,"topics":["docker","graphql","nestjs","nextjs","openai-api","prisma","redux","redux-toolkit","tailwindcss"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Ret2Hell.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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}},"created_at":"2025-04-12T17:34:32.000Z","updated_at":"2025-08-31T07:48:24.000Z","dependencies_parsed_at":"2025-07-24T00:11:51.262Z","dependency_job_id":"3c0457e1-4b31-4c53-bf10-7f11d178a698","html_url":"https://github.com/Ret2Hell/UniCloud","commit_stats":null,"previous_names":["ret2hell/unicloud"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Ret2Hell/UniCloud","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ret2Hell%2FUniCloud","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ret2Hell%2FUniCloud/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ret2Hell%2FUniCloud/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ret2Hell%2FUniCloud/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Ret2Hell","download_url":"https://codeload.github.com/Ret2Hell/UniCloud/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ret2Hell%2FUniCloud/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31703501,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-11T21:17:31.016Z","status":"online","status_checked_at":"2026-04-12T02:00:06.763Z","response_time":58,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["docker","graphql","nestjs","nextjs","openai-api","prisma","redux","redux-toolkit","tailwindcss"],"created_at":"2025-08-09T20:29:21.011Z","updated_at":"2026-04-12T03:39:41.104Z","avatar_url":"https://github.com/Ret2Hell.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# UniCloud\n\n**UniCloud** is a modern platform built for university students and staff to efficiently **manage, share, and access files and folders**. Whether you're organizing academic resources, collaborating on group projects, or leveraging AI-powered tools for productivity, UniCloud offers a seamless experience tailored to academic environments.\n\n---\n\n## 🚀 Features\n\n- **File Management**: Upload, download, organize, and delete files in structured folders.\n- **Bookmarks**: Easily bookmark frequently accessed files.\n- **AI Assistant**: Interact with an AI chatbot to get insights, summaries, and answers from your documents.\n- **User Authentication**: Secure login and registration system with session management.\n- **GraphQL API**: Powerful and flexible querying/mutation capabilities via Apollo Server.\n- **Responsive Design**: Fully optimized for both desktop and mobile devices.\n\n---\n\n## 🛠 Tech Stack\n\n### Backend\n\n- **Framework**: [NestJS](https://nestjs.com) – A progressive Node.js framework for scalable server-side applications.\n- **Database**: PostgreSQL with [Prisma](https://www.prisma.io/) ORM.\n- **GraphQL**: Apollo Server for handling API operations.\n- **Authentication**: Secure JWT-based REST authentication.\n\n### Frontend\n\n- **Framework**: [Next.js](https://nextjs.org) – A powerful React-based framework for building performant UIs.\n- **State Management**: Redux Toolkit Query (RTK Query) for seamless API data fetching and caching.\n- **UI**: [Shadcn UI](https://ui.shadcn.com/) + [Tailwind CSS](https://tailwindcss.com/) for modern, responsive interfaces.\n\n---\n\n## ⚙️ Installation\n\n### Prerequisites\n\n- [Node.js](https://nodejs.org/) (v16+)\n- [Docker](https://www.docker.com/) (for optional containerization)\n\n### Setup\n\n1. **Clone the repository:**\n\n   ```bash\n   git clone https://github.com/Ret2Hell/UniCloud.git\n   cd UniCloud\n   ```\n\n2. **Configure environment variables:**\n\n   - Copy `.env.example` to `.env` in both the `backend` and `frontend` directories.\n   - Update values based on your environment and setup.\n\n3. **Install dependencies:**\n\n   ```bash\n   npm install\n   ```\n\n4. **Run the development servers:**\n\n   - **Backend**:\n\n     ```bash\n     cd backend\n     npm run start:dev\n     ```\n\n   - **Frontend**:\n     ```bash\n     cd frontend\n     npm run dev\n     ```\n\n5. **Access the application:**\n\n   - Frontend: [http://localhost:3000](http://localhost:3000)\n   - Backend GraphQL Playground: [http://localhost:4000/graphql](http://localhost:4000/graphql)\n\n---\n\n### 🐳 Using Docker\n\nTo run the entire stack with Docker:\n\n```bash\ndocker-compose up --build\n```\n\nOnce running, access the app at [http://localhost:3000](http://localhost:3000).\n\n---\n\n## 📚 Usage Guide\n\n### 📁 File Management\n\n- Upload, download, and organize files into folders.\n- Bookmark files for quick access.\n- Remove files when no longer needed.\n\n### 🤖 AI Assistant\n\n- Chat with an AI about uploaded documents.\n- Get summaries, clarifications, and context-aware insights.\n\n### 🔐 Authentication\n\n- Register and log in to unlock personalized features.\n- Access your profile and activity logs.\n\n---\n\n## 🤝 Contributing\n\nContributions are welcome and appreciated! Here’s how to get started:\n\n1. **Fork the repository.**\n2. **Create a feature branch:**\n   ```bash\n   git checkout -b feature/your-feature-name\n   ```\n3. **Make your changes and commit:**\n   ```bash\n   git commit -m \"feat: add your feature\"\n   ```\n4. **Push your branch:**\n   ```bash\n   git push origin feature/your-feature-name\n   ```\n5. **Open a pull request** with a detailed explanation.\n\n---\n\n## 📄 License\n\nThis project is licensed under the [MIT License](LICENSE).\n\n---\n\n## 📬 Contact\n\nGot questions or suggestions? Feel free to reach out:  \n📧 [mohamedyassine.taieb@insat.ucar.tn](mailto:mohamedyassine.taieb@insat.ucar.tn)\n\n---\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fret2hell%2Funicloud","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fret2hell%2Funicloud","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fret2hell%2Funicloud/lists"}