'Ticket_City frontend successfully deployed to ICP canister local network': 'bkyz2-fmaaa-aaaaa-qaaaq-cai'.
'Ticket_City smart contract successfully deployed to Electroneum mainnet': '0x123bFf8D754b29772E1EfAD5B075F55600577DcD'.
Ticket_City.sol: Main contract handling event logic and ETN paymentsTicket_NFT.sol: Non-transferable NFT implementation for event ticketsTypes.sol: Data structures and enumsErrors.sol: Custom error definitions
- NonReentrant guard for payment functions
- Event organizer verification
- Minimum attendance rate requirements
- Revenue release conditions
graph TD
A[Organizer] -->|Creates Event| B[Ticket_City Contract]
B -->|Deploys| C[NFT Contract]
B -->|Sets| D[Ticket Types]
D -->|FREE| E[Single Ticket Type]
D -->|PAID| F[Regular/VIP Options]
graph TD
A[Attendee] -->|Sends ETN| B[Ticket_City Contract]
B -->|Validates Payment| C[Payment Validation]
C -->|Success| D[Mint NFT Ticket]
D -->|Updates| E[Event Records]
- Web2-like auth flow during which an embedded evm wallet will be created for the users
- A web3 auth for guest users
- Event creation with flexible ticket types (FREE/PAID)
- Ticket categories: Regular and VIP for paid events
- Revenue management through ETN native token
- Attendance tracking and verification system
- Tickets issued as NFTs for security
- Automated ticket pricing based on demand (Future Implementation)
- Event discovery tools, including referral programs and discount codes (Future Implementation)
- Stablecoins payment (Future Implementation)
- Tickets purchased using ETN
- Organizers pay a small platform service fee (30 ETN) for paid events
- Ticket payments held safely until the event ends
- If an event is canceled, attendees get a refund plus a 2 ETN gas fee compensation from the organiser (Future Implementation)
- ETN payments held in contract
- 60% minimum attendance requirement
- Automated revenue release post-event
- Manual release option for owner
- Attendance tracked through QR codes or wallet authentication
- Attendee-controlled attendance marking
- Bulk verification support by an attendee that registered for others (Future Implementation)
- Attendance rate calculation
- Revenue release conditions
FREE_TICKET_PRICE: 0 ETNMINIMUM_ATTENDANCE_RATE: 60%
- Custom errors for gas optimization
- Comprehensive validation checks
- Secure payment processing
- Node.js (v16 or higher)
- npm
- Git
- DFINITY SDK for Internet Computer (dfx)
- Vite for React development
# Clone repository
git clone https://github.com/CityBlockLab/Ticket_City_Frontend
cd Ticket_City_Frontend
# Install dependencies
npm install
# Start development server
npm run dev# Build for production
npm run build
# Preview production build
npm run preview
# Deploy to ICP
dfx deployThe React frontend application is deployed as a canister on the Internet Computer Protocol (ICP) local development environment:
- Module hash:
865eb25df5a6d857147e078bb33c727797957247f7af2635846d65c5397b36a6 - Frontend canister ID:
bkyz2-fmaaa-aaaaa-qaaaq-cai - Environment: Local development
- Recommended: http://bkyz2-fmaaa-aaaaa-qaaaq-cai.localhost:4943/
- Legacy: http://127.0.0.1:4943/?canisterId=bkyz2-fmaaa-aaaaa-qaaaq-cai
# Start local ICP environment
dfx start --background
# Deploy to local environment
dfx deploy
# Deploy to mainnet
dfx deploy --network ic
# Check canister status
dfx canister status frontendThe project currently does not define a security policy for assets on the Internet Computer Protocol. It is recommended to define a security policy in .ic-assets.json5, for example:
[
{
"match": "**/*",
"security_policy": "standard"
}
]To disable the policy warning, define "disable_security_policy_warning": true in .ic-assets.json5.
-
Creating Issues
- Use provided issue templates
- Tag with appropriate labels
- Include detailed description
- Tag repository @devbigeazi
-
Picking Issues
- Comment on the issue you want to work on
- Wait for assignment
- Tag repository @devbigeazi
# Create new feature branch
git checkout -b feature/issue-number-description
# Create new bugfix branch
git checkout -b fix/issue-number-description
# Create new documentation branch
git checkout -b docs/issue-number-description-
Before Submitting
- Run tests:
npx hardhat test - Generate coverage:
npx hardhat coverage - Update documentation if needed
- Ensure clean compilation
- Run tests:
-
Submission Requirements
- Link related issue(s)
- Provide detailed description
- Include test results
- Tag repository owner
-
Review Process
- Address review comments
- Update PR as needed
- Maintain communication
- Follow Solidity style guide
- Use NatSpec comments
- Implement proper error handling
- Maintain test coverage
- Follow gas optimization practices
-
Authentication & Authorization
- Implement secure authentication flows
- Use proper authorization checks
- Validate user inputs client-side and server-side
-
Data Protection
- Encrypt sensitive data
- Implement proper session management
- Use secure communication (HTTPS)
-
ICP Canister Security
- Follow ICP security best practices
- Implement proper canister access controls
- Regularly update dependencies
- Test for common web vulnerabilities
- GitHub Issues: Technical problems and bug reports
- Telegram Community: General discussion and support
- Documentation: Comprehensive guides and references
- Security: Private disclosure process for vulnerabilities
- ICP Network Status: Check the Internet Computer Protocol status at https://dashboard.internetcomputer.org/
- Electroneum Blockchain Explorer: For monitoring contract transactions
For additional support or questions:
-
Check existing documentation
-
Search closed issues
-
Join Telegram community
-
Contact @devbigeazi
