Welcome to the Decentralized Cafeteria Shopping System, a pioneering DAPP (Decentralized Application). This project strives to transform cafeteria interactions, utilizing blockchain for efficient meal ordering, secure transactions, and a rewarding system.
Our system connects university management, cafeteria staff, and users in a seamless, blockchain-powered environment. It enhances the cafeteria experience through efficient order processing, cryptocurrency payments, and a loyalty program.
- Menu Management: Enables cafeteria staff to update the menu, adjust prices, and manage item availability.
- Order Processing: Users can easily select, order, and customize their meals.
- FastCoin Payments: Transactions are made using FastCoin, our custom ERC20 token.
- Loyalty Rewards: A rewarding system that benefits regular customers.
- Promotions: Dynamic discounts and special offers.
- Smart Contracts: Developed on the Ethereum blockchain using Solidity.
- Front-End: Implemented with JavaScript and the React framework.
- Tokenomics: FastCoin, following the ERC20 token standard.
To run the Decentralized Cafeteria Shopping System, follow these detailed steps:
- Ensure you have Node.js and npm installed.
- Install Ganache for a personal Ethereum blockchain.
- Install Truffle for smart contract compilation and deployment.
-
Clone the Repository:
- Open your terminal.
- Run the command
git clone https://github.com/Ahmed1282/Decentralized-Cafeteria-Shopping-System.git
to clone the repository.
-
Navigate to the Project Directory:
- After cloning, navigate to the project directory with
cd Decentralized-Cafeteria-Shopping-System
.
- After cloning, navigate to the project directory with
-
Install Dependencies:
- In the project directory, run
npm install
to install all the required dependencies.
- In the project directory, run
-
Open Ganache:
- Launch Ganache to create your personal Ethereum blockchain.
-
Migrate Contracts:
- Open a new terminal window (do not close the previous one).
- Ensure you are in the root directory of the project (not inside
client
). - Run the command
truffle migrate
to deploy your contracts to the blockchain.
-
Navigate to Client Directory:
- In the first terminal, navigate to the client directory with
cd client
.
- In the first terminal, navigate to the client directory with
-
Start the Client Application:
- Run
npm start
to start the client-side application.
- Run
-
Access the Application:
- Open your browser and go to
localhost:3000
to interact with the application.
- Open your browser and go to
- This project uses Ganache for a simulated blockchain environment.
- Ensure all dependencies are installed before running the project.
- If you encounter any issues, make sure all prerequisites are correctly installed, your Ganache instance is running, and you are using two separate terminals as instructed.