https://github.com/ret2hell/unicloud
AI-powered academic cloud platform for students and staff to manage, share, and chat with documents.
https://github.com/ret2hell/unicloud
docker graphql nestjs nextjs openai-api prisma redux redux-toolkit tailwindcss
Last synced: about 1 month ago
JSON representation
AI-powered academic cloud platform for students and staff to manage, share, and chat with documents.
- Host: GitHub
- URL: https://github.com/ret2hell/unicloud
- Owner: Ret2Hell
- Created: 2025-04-12T17:34:32.000Z (about 1 year ago)
- Default Branch: master
- Last Pushed: 2026-02-04T18:03:56.000Z (3 months ago)
- Last Synced: 2026-04-12T03:38:48.932Z (about 1 month ago)
- Topics: docker, graphql, nestjs, nextjs, openai-api, prisma, redux, redux-toolkit, tailwindcss
- Language: TypeScript
- Homepage:
- Size: 1.78 MB
- Stars: 0
- Watchers: 1
- Forks: 1
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# UniCloud
**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.
---
## π Features
- **File Management**: Upload, download, organize, and delete files in structured folders.
- **Bookmarks**: Easily bookmark frequently accessed files.
- **AI Assistant**: Interact with an AI chatbot to get insights, summaries, and answers from your documents.
- **User Authentication**: Secure login and registration system with session management.
- **GraphQL API**: Powerful and flexible querying/mutation capabilities via Apollo Server.
- **Responsive Design**: Fully optimized for both desktop and mobile devices.
---
## π Tech Stack
### Backend
- **Framework**: [NestJS](https://nestjs.com) β A progressive Node.js framework for scalable server-side applications.
- **Database**: PostgreSQL with [Prisma](https://www.prisma.io/) ORM.
- **GraphQL**: Apollo Server for handling API operations.
- **Authentication**: Secure JWT-based REST authentication.
### Frontend
- **Framework**: [Next.js](https://nextjs.org) β A powerful React-based framework for building performant UIs.
- **State Management**: Redux Toolkit Query (RTK Query) for seamless API data fetching and caching.
- **UI**: [Shadcn UI](https://ui.shadcn.com/) + [Tailwind CSS](https://tailwindcss.com/) for modern, responsive interfaces.
---
## βοΈ Installation
### Prerequisites
- [Node.js](https://nodejs.org/) (v16+)
- [Docker](https://www.docker.com/) (for optional containerization)
### Setup
1. **Clone the repository:**
```bash
git clone https://github.com/Ret2Hell/UniCloud.git
cd UniCloud
```
2. **Configure environment variables:**
- Copy `.env.example` to `.env` in both the `backend` and `frontend` directories.
- Update values based on your environment and setup.
3. **Install dependencies:**
```bash
npm install
```
4. **Run the development servers:**
- **Backend**:
```bash
cd backend
npm run start:dev
```
- **Frontend**:
```bash
cd frontend
npm run dev
```
5. **Access the application:**
- Frontend: [http://localhost:3000](http://localhost:3000)
- Backend GraphQL Playground: [http://localhost:4000/graphql](http://localhost:4000/graphql)
---
### π³ Using Docker
To run the entire stack with Docker:
```bash
docker-compose up --build
```
Once running, access the app at [http://localhost:3000](http://localhost:3000).
---
## π Usage Guide
### π File Management
- Upload, download, and organize files into folders.
- Bookmark files for quick access.
- Remove files when no longer needed.
### π€ AI Assistant
- Chat with an AI about uploaded documents.
- Get summaries, clarifications, and context-aware insights.
### π Authentication
- Register and log in to unlock personalized features.
- Access your profile and activity logs.
---
## π€ Contributing
Contributions are welcome and appreciated! Hereβs how to get started:
1. **Fork the repository.**
2. **Create a feature branch:**
```bash
git checkout -b feature/your-feature-name
```
3. **Make your changes and commit:**
```bash
git commit -m "feat: add your feature"
```
4. **Push your branch:**
```bash
git push origin feature/your-feature-name
```
5. **Open a pull request** with a detailed explanation.
---
## π License
This project is licensed under the [MIT License](LICENSE).
---
## π¬ Contact
Got questions or suggestions? Feel free to reach out:
π§ [mohamedyassine.taieb@insat.ucar.tn](mailto:mohamedyassine.taieb@insat.ucar.tn)
---