I created this project with the intention of creating an atypical portfolio and to practice various Angular functionalities such as Custom Directives, Content Projection, Signals, etc.
Some of the main features are:
- OnPush Strategy for most of the components.
- Styles in host components.
- Tailwind and CSS for styling.
- Angular Material for UI components (dialogs)
- Tanstack for data fetching and cache.
To get started with NgxDesktop, follow these steps:
-
Clone the repository:
git clone https://github.com/borjamrd/desktop-rocket.git -
Navigate to the project directory:
cd desktop-rocket -
Install dependencies:
npm install -
Start the development server:
ng serve -
Open your browser and visit
http://localhost:4200to view the application.
- Draggable folders
- Draggable and resizable desktop widgets
- CRUD actions with folders
- Draggable and resizable dialog-modals
This is perhaps my favorite section.
Currently, there isn't (to my knowledge) a library in Angular that can render Notion content as a CMS (with React, there's a library called react-notion-x: https://github.com/NotionX/react-notion-x)
👷♂️ If you'd like to create a library, contact me.
The original page from my personal Notion site is this:
Funny component that renders posts from demanded Medium profile
- Global search of system files/folders
- Right now it's only visual 😥
- Implement global search functionality
- Enhance Notion API integration
- Implement dark mode toggle
- Develop email component
- Improve folder and file management system
- Desktop widgets: notes, calendar...
- Allow send emails.
- More system-elements: calculator
- Multilanguage
- Optimize performance for large datasets
- Implement user authentication and authorization only for demo purposes
- Add unit tests
Please, give it a Github starm if you enjoyed it!🚀
