manusa / isotope-mail Goto Github PK
View Code? Open in Web Editor NEWIsotope Mail Client
Home Page: https://blog.marcnuri.com/isotope-mail-client-introduction/
License: Apache License 2.0
Isotope Mail Client
Home Page: https://blog.marcnuri.com/isotope-mail-client-introduction/
License: Apache License 2.0
https://github.com/manusa/isotope-mail/network/dependencies
Shows a warning due to a vulnerability in url-parse dependency.
Current bundle.js file is > 700 KiB, should be splitted into separate files.
Application state holds a reference to a folder under the seletedFolder
field.
Whenever the list of folders is updated, the folder under this field no longer corresponds with the updated folder object within the folders.items
field.
Application should only store the ID of the selected folder selectedFolderId
Interface should be familiar to users of other mail clients (GMail, Outlook, Hotmail...) in order for them to easily recognize the features of the mail client and inherently know how it works based on prior experience.
In order to improve load times for slow servers or mail accounts with a large number of folders or messages, initial load logic should be as follows:
Add flex-wrap: wrap;
property to container
Replace margin property from attachment item:
margin: 0 6px 6px 0;
In order to avoid performance problems when persisting states with folder message caches with thousands of messages, message cache should be persisted in its own store and only when new messages are retrieved from the server.
Integrate react-i18next library for internationalization of client.
9010
/
marcnuri/isotope:client-server
Create initial Redux store and move App state data variables to the store
From travis-ci
Inspecting code with the SonarQube Scanner
Before inspecting your code, you need to:
- Create a user authentication token for your account on SonarCloud.
- Encrypt this token travis encrypt abcdef0123456789 or define SONAR_TOKEN in your Repository Settings
- Find which SonarCloud.io organization you want to push your project on and get its key
- Create a sonar-project.properties file for your project (see the documentation).
https://docs.traefik.io/
Project architecture
Reverse proxy (Traefik) [80] <- Traefik Docker Image
├ FE (ReactJS) [9000] <- Nginx Docker Image <- Path `/`
└ BE (Spring Boot) [9010] <- Alpine Java Docker Image <- Path `/api`
Apparently, although spec says differently, Microsoft Edge has no getAllKeys
method for IDBIndex class.
TypeError: Object doesn't support property or method 'getAllKeys'
Each time a user selects a folder, a refresh of the folder's message cache is issued to the API server.
If user selects a different folder before the previous fetch completed, previous fetch should be aborted.
This issue may have been caused after #33 was implemented.
Message grid should display the following fields:
UI design of message-list should display the required fields in a responsive way.
Project should be documented using available GitHub resources (Readme.md, wiki...)
Folder name (999)
Plain text Credentials are never stored in FE, not even in Encrypted IndexedDB -> Always use hashes
Create an initial layout for the application FE showing a list of folders and messages.
<p>
tags when displaying HTML messages (in Chrome)Currently chrome adds margins to <p>
tags when no customized styles exist using the following default CSS:
-webkit-margin-before:0em;
-webkit-margin-after:0em;
\Trash
attribute or if none available, any folder named Trash (ignore case)Move current error/warning icons to the top of the side-bar
/
/login
)marcnuri/isotope:client-latest
https://github.com/manusa/isotope-mail/network/dependencies
Shows a warning due to a vulnerability in hoek dependency.
Product name to be Isotope Mail Client
com.marcnuri.isotope
)A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.