This repository stores a single page application built in the scope of this project. The aim of this project is to create social privacy-preserving application on top of Solid platform. The project has beed done by me and @Cristian Grigoriu. PDF presentation of the project
We have used Solid POD's as distributed data storage for storing users data. Solid network is consist of independent web servers that provides authorized access to the user's data. All user's resources have unique url address and can be accessed by HTTP requests.
Reviewapp is a multi-functional social application on top of Solid conventions and tools. This privacy-preserving web application allows users to manage a list of reviews and to share it with any registered users in a decentralized manner. The application preserves user privacy by separating application from data such that each user stores personal data on it's own Pod.
The application provides to user ability:
- to share reviews about visited places (hotels and restaurants);
- to choose who can read their reviews.
Reviews are resources that:
- stores only on the author’s POD;
- described by well-known RDF vocabularies;
- available for another applications.
- It uses OpenSreetMap web service to find a place that was entered in the search field.
- I have tested a new approach of dynamic creation modal dialogs.
git clone <link to the repository>
npm install
npm install -g angular-cliMain service commands:
- Run in development mode
ng serveornpm run start. The application will be available by the linklocalhost:4200; - Compile production version
npm run build. You can find build artifacts in the folder./dist; - Run the production version
npm run runprod. The page will be available onlocalhost:9061.
Run ng generate component component-name to generate a new component. You can also use ng generate directive|pipe|service|class|guard|interface|enum|module.
ng generate component pages/<page name>
ng generate component ui/<component name>
Run ng build to build the project. The build artifacts will be stored in the dist/ directory. Use the --prod flag for a production build.
Run ng test to execute the unit tests via Karma.
Run ng e2e to execute the end-to-end tests via Protractor.
Go to tsconfig.app.json into paths add the following data :
"paths": {
"zlib": ["node_modules/browserify-zlib/lib/index.js"],
"http": ["node_modules/@angular/http"],
"https": ["node_modules/@angular/http"],
"stream": ["node_modules/jszip/dist/jszip.min.js"]
}