Code Monkey home page Code Monkey logo

filesync's Introduction

Hi ๐Ÿ‘‹, I'm Opeoluwa

An adventrous backend engineer and embedded software enthusiast

opeolluwa

opeolluwa

_opeolluwa

Blogs posts

Connect with me:

opeolluwa _opeolluwa adefemi-adeoye @opeolluwa @opeolluwa

Languages and Tools:

bash docker express javascript jest mysql nestjs nodejs postgresql rust typescript vuejs

opeolluwa

ย opeolluwa

opeolluwa

filesync's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

filesync's Issues

Refactor AppNAvigation component

Refactor the application navigation component defined here.

To do this,

  • Create a new nav folder in the src/component directory
  • create index.tsx in the folder
  • create <component-name.tsx> for each component defined in the application navigation component
  • extract the component logic and UI from the application navigation components and place them in the newly created files
  • Place the application core navigation UI and logic in the index.tsx you must have created above. Import the other components which the application nav depends on into this index.tsx file
  • finally, update the import path of the navigation component across the application.

Implement a feature to transverse directories and return the file paths of matches

  • create a transverse_dir.rs module in the core/src/utils directory
  • in the newly created transverse_dir.rs module, create a data structure, the data structure will contain the following fields
pub struct File {
    file_name: String, // the file name 
    file_format: String, // the file format, e.g mp4, gif, document 
    file_path: PathBuf, // ex downloads/my-awesome-picture.png
    file_size: String, // the file size calculated in kb, MB, GB, see core/src/utils/mod.rs for a function compute_file_size that helps with this
}
  • implement a logic to transverse directories and find files, see ff on crates.io for a guide on how this might be implemented
  • return an array of the found files using the created data structure. the returned data should be structured using the CommandData data structure, defined here

Embed database

embed an SQLite database which would be built into the application
the embedded database may be accessed by sqlx and it would be useful in persisting the application configuration such as

  • connection parameter
  • transfer history
  • settings; language, theme and first-time tutorial

Create Wifi Hotspot on windows Operation system

The problem: Windows operating system does not allow the creation of a Wifi Hotspot unless the device is connected to a Wifi.

The Task: Implement a function to create a wifi hotspot on the Windows Operating system. See this project built in the C programming language wich attempts to achieve this feature

Implement FileWindow

What is in this Issue?

FileWindow is a dedicated file viewer and explorer written from ground up with filesync in mind.

The objectives are to:

  • Support React and NextJs app
  • Become a reusable OSS React component
  • Support Video player
  • Support Audio Player
  • Support PDF, and docx format
  • Support CSV and presentation

Integrate Dark Mode

Integrate the application dark Mode using this color palette and TailwindCSS convection
Screenshot from 2023-06-11 11-00-42

To do this, extend tailwind.config.cjs with the theme, immediately after the default color theme

the color theme may be used alongside the TailwindCSS gray color, especially for styling text.

'app-dark':{ 
 DEFAULT: '#18122B', 
 50: '#907DC9',
  100: '#836FC3', 
 200: '#6A52B7',
  300: '#58429E', 
 400: '#483681', 
 500: '#382A65',
  600: '#281E48', 
 700: '#18122B', 
 800: '#020103', 
 900: '#000000', 
 950: '#000000'
},

Application does not build successfully

Application does not build successfully

The application build doesn't exist successfully or create executable locally when yarn tauri build is executed

How to reproduce this

  • create a fork of the project
  • clone the repository git clone https://github.com/<your-github-id>/filesync
  • navigate to the project root directory cd filesync
  • in the root directory, execute yarn to install the dependencies
  • execute yarn tauri build to build the application locally

System dependencies

Nice to have but not required

  • Experience with Tauri
  • Experience with Rust
  • Experience with TailwindCSS

Empty Screen in development environment

I was looking to look at some issues in this repo but could not set up the development environment as I am unfamiliar with the frontend stack. Upon running yarn tauri dev I get the following screen.

empty screen tauri

Can you help me in setting up the dev environment?

My build Environment:

yarn run v1.22.19
$ tauri info

Environment
  โ€บ OS: Ubuntu 22.04 X64
  โ€บ Node.js: 16.20.0
  โ€บ npm: 8.19.4
  โ€บ pnpm: 8.6.1
  โ€บ yarn: 1.22.19
  โ€บ rustup: 1.26.0
  โ€บ rustc: 1.69.0
  โ€บ cargo: 1.69.0
  โ€บ Rust toolchain: stable-x86_64-unknown-linux-gnu 

Packages
  โ€บ @tauri-apps/cli [NPM]: 1.2.3
  โ€บ @tauri-apps/api [NPM]: 1.2.0
  โ€บ tauri [RUST]: 1.2.4,
  โ€บ tauri-build [RUST]: 1.2.1,
  โ€บ tao [RUST]: 0.15.8,
  โ€บ wry [RUST]: 0.23.4,

App
  โ€บ build-type: bundle
  โ€บ CSP: unset
  โ€บ distDir: ../out
  โ€บ devPath: http://localhost:1420/
  โ€บ framework: React (Next.js)
  โ€บ bundler: Vite

App directory structure
  โ”œโ”€ public
  โ”œโ”€ .vscode
  โ”œโ”€ out
  โ”œโ”€ .github
  โ”œโ”€ src-tauri
  โ”œโ”€ core
  โ”œโ”€ screenshots
  โ”œโ”€ .git
  โ”œโ”€ src
  โ”œโ”€ mobile
  โ”œโ”€ node_modules
  โ””โ”€ .next
Done in 11.13s.

Improve the README

Help refactor the readme, the readme should contain the following sections among other things

  • Prerequisite: - what is required to set the application locally,
  • technology stack - the technology stack used
  • screenshot
  • environment set up: how to setup the environment to run the application locally
  • running the application locally: various commands to run that application locally
  • license: the project is licensed and distributed under MIT
  • roadmap*
  • The Roadmap will be updated by @opeolluwa just put the heading

Add filesthumbnail

File thumbnail would be useful to display the file type, for simplicity
this has been reduced the the following types of file

  • .pdf
  • .doc
  • music - all audio files should use an icon
  • presentation - all presentations should use an icon
  • video all video types should use an icon
    if no match was found a fallback should be used

Get device memory information

To resolve this issue,

  1. Refactor the system memory module to
    return the following information correctly:
  • total available memory
  • used memory
  • device battery uptime in hh mm (hour and minutes)
  1. Write unit test(s) for the implemented logic.

Add tutorial after installation

Add a walkthrough guide and execute only on first-time installation

To do this,

  1. consider using Sheperd.js, for the UI
  2. implement the store plugin to check if it's the first time the application runs, if true, execute the walkthru. On the subsequent launch of the application, don't open the walkthrough

Implement the file transfer history page

Screenshot from 2023-09-17 16-06-28
The current implementation uses tabs, revamp this to use a list with paginated data, the paging
will be controlled by the intersection observer

Here are the tasks in detail

  • consume the get_file_transfer_history API (this is yet to be implemented)
  • build a UI component to render the file, the UI component will contain an icon on the left, followed by a bother, and finally the name of the file, the file size, the transaction type, and the transaction date.
  • implement intersection observer to update the list on scroll event

Implment file Icon UI component

Implement a Reusable React Component which will accept an argument, (sayfileType) the component should render the file type icon. Consider the included snapshot
Screenshot from 2023-06-09 13-26-07

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.