A lightweight, functional local network storage service built with:
- HTTP4S (Pure functional HTTP)
 - Cats Effect (Resource-safe IO)
 
| Pandora HomeDrive Features | |
|---|---|
| File upload/download | ✅ | 
| Folder organization | ✅ | 
| Local network storage | ✅ | 
| "Know Your Files" trivia game | ✅ | 
| Data encryption | ✅ | 
| Local data storage | ✅ | 
| Storage visualization | ✅ | 
| File type statistics | ✅ | 
| Feature | Pandora HomeDrive | Google Drive | Dropbox | OneDrive | 
|---|---|---|---|---|
| File upload/download | ✅ | ✅ | ✅ | ✅ | 
| Folder organization | ✅ | ✅ | ✅ | ✅ | 
| Local network sync | ✅ | ❌ | ❌ | ❌ | 
| Built-in file quiz game | ✅ | ❌ | ❌ | ❌ | 
| End-to-end encryption | ✅ | ❌* | ❌* | ❌* | 
| Local-only storage option | ✅ | ❌ | ❌ | ❌ | 
| Storage analytics | ✅ | ✅ | ❌ | ✅ | 
| Free basic storage | ✅ | ✅ | ✅ | ✅ | 
| Real-time collaboration | ❌ | ✅ | ✅ | ✅ | 
| Mobile app support | ❌ | ✅ | ✅ | ✅ | 
git clone https://github.com/your-org/pandora-homedrive.git
cd pandora-homedrive
sbt run
# Server starts on http://localhost:8080- IDE : IntelliJ (or any JVM friendly environment)
 - Language : Scala 3.3.5
 - Version-control: git/GitHub
 - Build : sbt
 
We will be using a Microservice architecture for our app. This means each team member will work on a separate, small server. This structure is chosen for its ease of work delegation and isolation.
- Microservices will communicate with each other via RESTful APIs
 - Users will interact with the system through an API Gateway, which routes requests to the appropriate microservices
 
- We will use conventional commit messages (mandatory)
 - Reference markdown files in the repo for formatting guidelines
 
- To be added in the repo README later
 
- Automatic build tests run after pushing or merging a pull request
- ✅ Green checkmark = passed
 - ❌ Red cross = failed
 
 - No pull requests will be accepted into 
mainordevelopmentbranches unless they pass the build test 
- Each microservice has its own branch
 - Create feature branches named: 
[microservice]_service-{feat}
Example:chatbot_service-respond - Work on features in their respective branches
 - When feature is complete:
- Push changes to remote feature branch
 - Initiate pull request from feature branch → microservice branch
 - Resolve any conflicts
 - Ensure features pass build test (mandatory for microservice → development)
 - Merge with conventional commit message
 - Delete the feature branch after successful merge
 
 
- 
Main
 - 
Development
 - 
api_gateway
 - 
storage_service
 - 
storage_service-upload
 - 
storage_service-download
 - 
chatbot_service
 - 
analytics_service
 
| Team Member | Primary Responsibilities | 
|---|---|
| omardoescode | Storage microservices | 
| moha09-coder | Middleware and security services | 
| DEVUCP | Microservice APIs, API gateway, frontend | 
| marwanm-dev | Analytics microservice, assists Chatbot | 
| Abdelrahman Amr | Chatbot microservice | 
Note: All members will need to contribute to backend (Scala) development as it's mandatory for the project.