Assignment task
Frameworks to be used
- Flask for application code
- Jinja2 templates + Bootstrap for HTML generation and styling
- SQLite for data storage
- All demos should be possible on a standalone platform like replit.com and should not require setting up new servers for database and frontend management.
Core Functionality
- This will be graded
- Base requirements:
- Admin login and User login
- Venue Management
- Show Management
- Booking show tickets
- Search for shows/venues
Core - Admin and User Login
- Form for username and password for user
- Separate form for admin login
- You can either use a proper login framework, or just use a simple HTML form with username and password - we are not concerned with how secure the login or the app.
- Suitable model for user
Core - Venue Management (Only for Admin)
- Create a new venue
- Storage should handle multiple languages - usually, UTF-8 encoding is sufficient for this
- Edit a venue
- Change title/caption or image
- Remove a venue
- With a confirmation from the admin
Core - Show management (Only for Admin)
- Create a new show
- Storage should handle multiple languages - usually UTF-8 encoding is sufficient for this
- Edit a show
- Change title/caption or image
- Remove a show
- With a confirmation from the admin
- Allocate venues while creating shows
- Different Pricing for each venue (optional)
Core - Search for Shows/Venues
- Ability to search theatres based on location preference
- Ability to search movies based on tags, rating etc.
- Basic home view for a venue
Core - Book Show Tickets
- Show the shows available for a given timeframe to the users
- Ability to book multiple tickets for a show at a given venue
- Ability to stop taking bookings in case of a houseful.
Optional
- Styling and Aesthetics
- Proper login system
- Export venue/show engagement (number of tickets booked, venue performance)
- Predict popularity of a show/venue based on the previous trends
This IT and Computer Science has been solved by our PHD Experts at My Uni Paper.