/expresso

Primary LanguageTypeScript

Overview

This project is a full-stack blogging platform that leverages the power of blockchain technology. The project combines a server-side API, a client-side React application, and blockchain-based non-fungible token (NFT) contract and a way to donate to creators in Ethereum.

Server-side API

The server-side API is built with Express.js and MongoDB, providing a set of RESTful endpoints for blog and user-related functionalities. The API allows for actions such as creating, retrieving, updating, and deleting both users and blogs. It also includes features like searching for blogs, filtering blogs by tags, and commenting on blog posts. Additionally, it employs JWT (JSON Web Token) for authentication and authorization purposes.

Client-side React Application

The client-side application is built with React.js. It provides a friendly user interface for interacting with the server-side API. The app includes features like user login, profile viewing and updating, blog post creation, reading, updating, and deletion. There's also a discovery page for users to explore new blog posts.

Ethereum NFT Contract

The Ethereum NFT contract, written in Solidity, is part of the project's unique selling point. The contract allows the deployment of a new NFT (Non-Fungible Token) which represents a unique asset on the Ethereum blockchain. This NFT could represent our monthly digital collectable