A home cloud providing file explorer with permissions and access control lists to share files with friends, and acting as a proxy for other services with content rewriting. Based on NodeJS, Express, JWT, Angular 5, Material Design, with TypeScript for both client and server.
git clone https://github.com/nicolaspernoud/ninicobox.git
cd ninicobox
npm run setup
npm run build
npm start
npm run debug
Usage : http://localhost:3000
- Add tests to server api
- Refactor server api
- Add user api and models
- Restrict file writing on read access control
- Add tests on files acl system ; check that ".." is not allowed
- Add get acl api
- Add proxy api and models
- Add basic logging
- Add ip location logging
- Add helmet to protect server api
- Rebase server api on typescript sdk for express
- Add environnement production conf to server api, randomize secret
- Create separates route for admin[r, rw], family[r, rw], user[r, rw] file api
- Add credentials to proxy routes
- Remove unused librairies
- Add http to https redirecting
- Add login screen, auth service, isAuthed, role, directives
- Add logout and stale JWT mecanisms
- Add users components
- Check if style is compliant to material guidelines
- Add proxy services components
- Improve explorer context menu
- Add cut to explorer
- Add copy to explorer
- Add tests
- Add basic service worker and manifest
- Allow sorting of proxy services
- Add i18n
- Add filesACL management
- Remove unused components from client and unused librairies
- Improve global error handling
- Provide basic text file editing in explorer
- Put everything in docker containers