Welcome to the WizCommerce Fullstack Hiring Challenge! This challenge is designed to assess your frontend and backend skills in building a simple, real-world application. Good luck, and have fun!
🧠 Note: This challenge is ideal for SD1 candidates applying for either frontend or backend roles — but the best candidates will attempt both parts. We'll evaluate you on your strengths, but fullstack attempts are highly appreciated.
Build a simple scheduling application where users can create events and let others book available time slots. Think of it as a mini-Calendly.
- Input: Event title, description
- List of available time slots (ISO 8601 format:
2025-06-20T10:00) - Max bookings per slot
- List of all created events with titles and basic info
- Click to see event details + available time slots
- Visitors can enter name + email to book a slot
- Slot becomes unavailable after booking
- Prevent double booking for same user + slot
- Users should be able to view and book slots in their local time zone
- Time slots should auto-convert to user's browser or selected time zone
- Store data in UTC and convert client-side using libraries like
date-fns-tzorluxon
- User can see all their past bookings (filter by email)
- Displays all upcoming public events
- Basic event metadata: name, creator, number of slots
-
Shows:
- Event name and description
- Available slots in user’s local time
- Booking form with name + email input
- Form to input event name, description, and slots (date + time)
- Time zone awareness on the input
- Displays list of bookings by current user (using email as identifier)
- Post-booking confirmation
- Error/failure states (e.g. already booked, slot full)
| Method | Endpoint | Description |
|---|---|---|
| POST | /events |
Create an event |
| GET | /events |
List all events |
| GET | /events/:id |
Get event + slots |
| POST | /events/:id/bookings |
Book a slot |
| GET | /users/:email/bookings |
View bookings (optional) |
- Frontend: React (Vite) + TailwindCSS
- Backend: FastAPI / Flask / Express.js
- Database: SQLite or PostgreSQL
- Deployment: Vercel (frontend) + Render / Railway (backend)
Here are some services you can use to deploy your frontend and backend:
- Vercel – Fast CI/CD with GitHub integration
- Netlify – Great for React/Vite apps
- Cloudflare Pages – Free and fast
- GitHub Pages – Works for static SPAs
- Render – Easy FastAPI or Node.js hosting
- Railway – Great for fullstack apps with PostgreSQL
- Fly.io – Edge deployment with Docker support
- Replit – Quick backend demos
- Supabase – For database + lightweight backend APIs
To officially submit your solution, please fill out this short Google Form with the following details:
- Your Full Name
- Email Address
- GitHub repository link (private repo with access granted)
- Frontend deployment URL (e.g., Vercel)
- Backend deployment URL (e.g., Render)
- Any notes or context you want us to know
This helps us track all submissions in one place and ensures nothing gets missed.
- Fork this repo
- Build the frontend and backend
- Deploy (if possible) and include URLs in your README
- Submit GitHub link with live demo or local instructions
- Email confirmation on booking
- Realtime booking updates
- Event branding with image upload
- Google Calendar sync (mocked is fine)
| Area | What We're Looking For |
|---|---|
| ✅ Functionality | All core features implemented, no major bugs |
| 📚 Code Quality | Clear structure, modular design, comments |
| 🎨 UI/UX | Responsive design, form feedback, good layout |
| ⚙️ API Design | RESTful, validation, edge-case handling |
| 🚁 Deployment | Working links, good README, .env support |
| 📣 Communication | Commit hygiene, comments, README clarity |
- Working backend with all relevant routes and validations
- Functional frontend with event listing, detail view, and booking
- Clear GitHub repository with meaningful commit history
- Frontend deployment URL (e.g., Vercel, Netlify)
- Backend deployment URL (e.g., Render, Railway)
- Local setup instructions (with
.env.example) - Well-written README explaining tech choices, folder structure, and approach
- Bonus features (if implemented) clearly listed in README
- Short write-up on assumptions made and areas for improvement
🔒 Plagiarism Notice: We manually review all submissions. Identical or copy-pasted codebases will be disqualified. Please do original work — this helps you grow and us evaluate fairly.
We’re excited to see your submission. Think creatively, structure your code well, and showcase your ability to work across the stack. Happy coding!