Skip to content

meugenom/cloudydesk

Repository files navigation

CloudyDesk App

Version License

CloudyDesk App - A web-based cloud desktop for users (In Progress)

See Demo
Logging into the demo site automatically as the user hallo@meugenom.com

About

CloudyDesk App is in a progressive state. CloudyDesk is an app for the web. It’s a dynamic site with a database Postgres on board. The main goal of this website is to make a useful and friendly cloud like a desktop manager, which is a little bit similar to shell OS. So we plan to have our small functional embedded applications like a terminal app, draw app, text editor, photo viewer, media player, etc. It would be workable with simple functionality. CloudyDesk App is Open Source App. You can download the code and make your changes.

Features (Application in Progress)

  • An animated web view featuring a background with a space, ocean, moon, among themes, a taskbar, and app icons.
  • An animated loader system bar that indicates the progress of space settings and messages.
  • Full-window mode capability for the desktop, allowing you to maximize the desktop view and occupy the entire screen.
  • Modal windows that can be triggered from taskbar icons, providing options to close, maximize, minimize, move, and resize windowed applications. You can also switch between active windowed apps with a single click, even when other windowed apps are open. Resizing can be done using the bottom-left icon.
  • The app terminal allows you to input commands such as "help," "ls," "whoami," and "uname." Other commands are currently being developed.
  • The app finder displays a list of files organized by directories, which are automatically added when creating a new account. It's possible to drag and drop files from desktop to directories to save on backend.
  • The app settings provides to choose current thema from space, ocean, moon, among solar system themes. By default is space thema.
  • The app editor provides a simple text editor interface without the option to save files.
  • The app camera allows you to connect your webcam and view yourself.
  • Context-menu functionality, left-clicking, including the ability to upload files to the server. The file can be saved based on the context of where you selected the menu - either in the finder or on the desktop. Other options in progress.
  • Login and registration forms and functionality, including server calls and a widget panel displaying user information.
  • Visual representation of file lists and the ability to upload files to storage for the current user by context-menu and selected folders in the sidebar of the finder.
  • Double-clicking on file icons enables file downloading.
  • Notifications have been implemented in the project.
  • A loading spinner is activated to indicate ongoing processes.

Please read this

  • There is currently no demo available on the website https://cloudydesk.de.
  • Logging into the demo website automatically as the user hallo@meugenom.com
  • After loading the Docker image to start, please follow the instructions below.
  • If you have started the Docker image and the database is empty, create your own account and upload your files. The default file upload size limit is 10 MB.
  • In the Docker image, the path 'upload-dir' is set by default. Please refer to the file 'server/src/main/resources/application.yml' to select your own directory to work locally, to which you have access.

Development

Important for local usage

  • Our development uses reverse proxy server. In this file nginx.conf you can find example proxy settings. Front-end server starts on port 8081 and backend starts in port 3000.
  • File Store uses by default home:/user:/uploads directories. Please make dir /uploads in your /Home:/User: dir and change application.properties:40.

Docker meugenom/neetcloud image from Docker Hub

Here is a way to run the project locally:

	# install docker and download image using command below
	docker pull meugenom/cloudydesk:0.3.0
	# see images
	docker images
	# run image with the folowing command
	docker run -d --name cloudydesk-container -e POSTGRES_USER=cloudydesk -e POSTGRES_PASSWORD=password -p 5432:5432 -p 8080:8080 -p 8081:8081 cloudydesk:0.3.0
	# see started containers
	docker ps
	# after wann container is launched, run the command to connect to the container
	docker exec -it cloudydesk-container bin/bash
	# in the opened console start each service one by one with the following commands:
	nginx && start-frontend && start-backend
	# you can see all started processes
	htop
	# and quit from the terminal of container
	exit
- Access the project in web browser at `http://localhost:8080`.
By default database is empty.
- Register new user by button bottom-right 
- Upload file by right click on the screen->see menu->select Uploading File
- Download file from the screen -> double click on icon of downloaded file

How to remove docker build cache

	docker builder prune

NeetCloud App was created with TypeScript, Angular, Ng Redux, Java, Spring Framework, and Postgres. Please see:

I'll be glad and pleased to listen to some critiques about the code or ideas. Helping is welcome.

Used Resources

Contributors

You could be here!

Author

License

This project is open source and available under the MIT License.