Trying to plan an event can be hectic, messy, and hard to keep up with. iPlan helps you plan your event down to the finest details without the stress of having to look at multiple different places because everything is going to be compiled in one place, just a touch away.
- Budget finances and allow user to categorize by shared, individual, and immediate expenses
- Let users set deadlines in a calendar/timer and send custom notifications to remind them of the task
- Plan the day of your event with an itinerary and make it shareable to other users
- Collaborate with other users by adding them to your event module and assigning tasks
- Communicate with other users through a group chat feature
- Prioritize your tasks from highest to lowest importance as a checklist
- Record the user's progress and provide suggestions on when to complete a task by to avoid stress
- Send customized invites to your guest by adding them to a list and allowing them to RSVP
Frontend AND Backend
- Decide on tech stack
- Download and set up environments
- Spend 2 days at most researching what goes into an event and what is needed to plan one
- Code test files in chosen language and upload to repository's test branch
- COMMUNICATE! with each other and with project manager
-
Frontend
- Use Figma (preferred) or Adobe XD to draw up wireframes and edit until a finalized look is reached. Make wireframes interactive.
- Learn basics of Flutter/Dart or React/Node.js
- Code design from final wireframes
- a home page with a list of sub-pages
- add collaborators to event module
- budget page
- calendar page
- itinerary page
- combining frontend with backend 1) after each stage or 2) collectively integrate after front end is completely done with all pages
-
Backend
- Learn basics of Firebase/Node.js
- Learn APIs
- Calendar API
- Contact picker API
- (possible) Notifications API
- Set up database to store the information that user enters into each page
- Integrate frontend and backend to display data that relies on database storage
- Wireframing: Figma
- IDE: Android Studio
- Frontend: Flutter/React Native
- Flutter provides a lot of built-in UI components and is easier for cross compatibility
- React Native is more widely used in app development and also has great cross compatibility
- Backend: Firebase/Node.js
- Firebase handles flat data and simple queries very well, while firestore handles more complex data and advanced queries better
- Node.js is high performance and has better scalability.
- Calendar API: calendar api
- Contact Picker API: contact picker api
- Notifications API: notifications api
- This is not a complete list of resources. You may change a lot of things during the semester but this is to help you as much as possible!
General
- Success in ACM Projects
- Installing Android Studio: Windows / iOS
- API Crash Course w/ timestamps
- GitHub Cheat Sheet #1
- GitHub Cheat Sheet #2
Front-end
- Introduction to Wireframing in Figma
- Flutter Crash Course (playlist!)
- React Native Crash Course (playlist!)
- 27 Best UI/UX Practices
Back-end
- Dart Crash Course w/ timestamps
- Node.js Crash Course (playlist!)
- Google Calendar w/ Firebase Authentication
- Add Firebase to Android
- Flutter & Firebase
- Matthew Sheldon
- Sharun Naicker
- Jennifer Zhang
- Casandra Marquez