mediumSv
This project is a content platform that utilizes blockchain technology to ensure the authenticity and ownership of articles, blogs, research papers, and podcasts. It provides a secure and transparent environment where authors have full control and rights over their content.
Unique Selling Proposition (USP) The uniqueness of this product lies in its utilization of blockchain technology. Every piece of content published on the platform is stored on the blockchain, ensuring that the author's rights are reserved. This ensures the authenticity and ownership of the content, as well as provides a transparent and immutable record of creative works.
Features
-
Content Types Blog: Platform allows users to publish blog posts on various topics. Article: Users can publish research articles on the platform. Research: Research papers can be shared and accessed securely. Podcast: Podcasts can be uploaded and shared with the audience.
-
Server Architecture Blockchain Server: Contains stateful smart contracts and necessary APIs. Running on port 5000, it facilitates various operations including publishing articles (/mint), liking content (/like), and sending critical data (/senddata).
Backend Server: Communicates with the blockchain server for user authentication. Running on port 8000, it ensures secure interactions between users and the blockchain. Client: Frontend interface of the project, providing users with access to published content and interaction features.
- Starting the Application To start the blockchain:
bash
Copy code
cd blockchainserver
npm i
npm run compile
npx ts-node server.ts
..
...
To start the backend server:
bash
Copy code
cd server
npm i
npm start
...
...
To start the client:
bash
Copy code
cd client
npm i
npm run start
...
....
-
Wallet and Authentication The project utilizes Neucron wallet for paying transaction fees and user authentication.
-
Testing Credentials For testing purposes, use the following credentials:
Email: ss363757@gmail.com
Password: Shubham123
Note: Ensure that MongoDB shell is running, as it stores side information and user data.
impt blockchain endpoint: API Endpoints
- Minting Articles Endpoint: POST /custom/mint
Description Minting articles endpoint is used to publish articles on the blockchain through a smart contract.
Request Method: POST Content-Type: application/json Body Parameters: Provide article data in the request body. Response Status Code: 200 OK on success. Response Body: JSON object confirming successful minting of the article.
- Sending Files Endpoint: POST /custom/sendfile
Description Sending files endpoint is used to upload files to the blockchain.
Request Method: POST Content-Type: multipart/form-data Body Parameters: File to be uploaded. Response Status Code: 200 OK on success. Response Body: JSON object confirming successful file upload.
- Getting Data Endpoint: GET /custom/data
Description Getting data endpoint is used to retrieve data from the blockchain.
Request Method: GET Response Status Code: 200 OK on success. Response Body: JSON object containing requested data. 4. Liking Content Endpoint: POST /custom/like
Description Liking content endpoint is used to donate money to the author of the content.
Request Method: POST Content-Type: application/json Body Parameters: Provide necessary data for liking the content in the request body. Response Status Code: 200 OK on success. Response Body: JSON object confirming successful liking of the content.
- Health Check Endpoint: GET /health
Description Health check endpoint is used to verify the status of the server.
Request Method: GET Response Status Code: 200 OK if the server is running. Response Body: JSON object with status information.
Contributing Contributions are welcome! Feel free to open issues and pull requests to improve the project.
License This project is licensed under the MIT License.