├── .github └── ISSUE_TEMPLATE │ └── submit-project-for-the-challenge.yml └── README.md /.github/ISSUE_TEMPLATE/submit-project-for-the-challenge.yml: -------------------------------------------------------------------------------- 1 | name: Submit Project for the Challenge 2 | description: Use this form to submit your solution for feedback 3 | title: "[Submission] Your_Project_Name" 4 | labels: submission 5 | body: 6 | - type: input 7 | id: participant_name 8 | attributes: 9 | label: Participant Name 10 | description: Enter your full name. 11 | placeholder: John Doe 12 | - type: input 13 | id: project_name 14 | attributes: 15 | label: Project Name 16 | description: Enter the name of the challenge you chose (e.g., Collaborative To-Do List App). 17 | placeholder: Collaborative To-Do List App 18 | - type: textarea 19 | id: project_description 20 | attributes: 21 | label: Project Description 22 | description: Provide a brief overview of your solution, its features, and any bonus features you included. 23 | placeholder: My app allows users to create shared to-do lists with priority sorting and progress tracking. 24 | - type: textarea 25 | id: challenges_encountered 26 | attributes: 27 | label: Challenges Faced 28 | description: Describe any challenges you faced while building your solution. 29 | placeholder: I struggled with implementing the sorting functionality and resolved it by using a conditional column. 30 | - type: markdown 31 | attributes: 32 | value: | 33 | ### 📎 Upload Your `.zip` File 34 | After submitting this form, attach your `.zip` file to this issue manually by dragging and dropping it into the comment box below. 35 | - Ensure your file is named as: `yourname_projectname.zip`. 36 | - Example: `john_doe_todolist.zip`. 37 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Community Power Platform Project Challenge 2024 🚀 2 | 3 | Welcome to **The Community Power Platform Project Challenge**! This is an opportunity for you to tackle real-world like app-building scenarios, sharpen your skills, and receive feedback on your solutions from your friends, colleagues and peers. Showcase your work, gain valuable experience, and add this project to your portfolio, or just get involved and have some fun! 🌟 4 | 5 | This has been created off the back of a lot of people asking for suggestions for projects to build their experience and evidence skills after they complete things like the Power Up Program, PL-900 and other Power Platform Training. If this is appreciated and popular I will do more of these with different challenges. Give these a try especially if you are looking to build up some confidence or just have some fun! 6 | 7 | Try to build solutions using Dataverse as the Datasource rather than Sharepoint. If you have any issues with this, let me know. 8 | 9 | I will be taking part in building these and sharing how I might tackle these challenges for those interested 🙂. 10 | 11 | --- 12 | 13 | ## 🎯 Challenge Categories 14 | 15 | ### **Challenges if you are just getting started** 16 | 17 | **1. Collaborative To-Do List App** 18 | - Build a shared to-do list app where multiple users can: 19 | - Add tasks with a title, description, and due date. 20 | - Mark tasks as "Completed" or "Pending." 21 | - Include a search box to find tasks by title. 22 | - **Features**: 23 | - Group tasks by status ("Pending" and "Completed"). 24 | - Provide a clear interface for adding, editing, and deleting tasks. 25 | - **Bonus Features**: 26 | - Add a "Priority" column to sort tasks. 27 | - Allow users to switch between sorting by due date and "Priority." 28 | - Display a progress bar based on completed tasks. 29 | - Enable collaborative commenting on tasks (e.g., leave notes or updates). 30 | 31 | **2. Lost and Found System** 32 | - Create an app to log and match lost and found items where users can: 33 | - Log an item as "Lost" or "Found" with: 34 | - Item description (e.g., "Black wallet with initials JD"). 35 | - Date and location (e.g., "Lost at City Park in Birmingham on 2024-11-12"). 36 | - Optionally upload an image. 37 | - View all logged items in a gallery, filterable by: 38 | - Status (Lost or Found). 39 | - Location or date range. 40 | - **Features**: 41 | - Admin functionality to: 42 | - Match "Lost" items with "Found" items based on descriptions or images. 43 | - Notify users of potential matches using email or Teams. 44 | - **Bonus Features**: 45 | - Add item categories (e.g., electronics, clothing, personal documents). 46 | - Show statistics, such as: 47 | - Total items logged per week/month. 48 | - Number of items successfully matched per week/month. 49 | 50 | --- 51 | 52 | ### **Medium Challenges** 53 | 54 | **3. Habit Tracker with Rewards** 55 | - Design an app to help users track daily habits where users can: 56 | - Add habits with titles, descriptions, and category (e.g., "Health," "Work"). 57 | - Mark habits as completed for each day in a week. 58 | - **Features**: 59 | - Display: 60 | - A progress bar for each habit over a week. 61 | - A streak counter showing the number of consecutive days the habit was completed. 62 | - A summary view showing the user's most completed habits. 63 | - Implement a simple reward system: 64 | - Assign points for each completed habit. 65 | - **Bonus Features**: 66 | - A dashboard showing: 67 | - Total points. 68 | - Longest streaks. 69 | - Categories with the most tracked habits. 70 | - Notifications or reminders for incomplete habits. 71 | - Weekly progress reports sent to the user's email summarising counts of what they have done. 72 | - Gamification features to generate healthy competition between users of the app 73 | 74 | **4. Event Planner App** 75 | - Develop an app to plan and manage events where users can: 76 | - Create events with details, including: 77 | - Event name, description, date, time, and location. 78 | - Capacity limits and ticket types (if applicable). 79 | - Invite attendees by email. 80 | - Users can RSVP by clicking a link in the email which takes them to the app. 81 | - View RSVP statuses (Accepted, Declined, No Response). 82 | - **Features**: 83 | - Display: 84 | - Upcoming events in a calendar view. 85 | - RSVP summaries with a breakdown of attendee statuses. 86 | - Send automated email reminders. 87 | - **Bonus Features**: 88 | - Enable users to upload files for events (e.g., agendas, flyers). 89 | - Add a waitlist feature that automatically notifies users if spots become available. 90 | - Include a feedback form for post-event reviews. 91 | - Try deep linking from the email directly to a form for them to RSVP/See the event. 92 | 93 | --- 94 | 95 | ### **More Challenging Challenges** 96 | 97 | **5. Retro Arcade Quiz Game** 98 | - Build a retro-style quiz game where users can: 99 | - Start a new game and answer multiple-choice questions. 100 | - Earn points based on correct answers and question difficulty. 101 | - **Features**: 102 | - Include: 103 | - A leaderboard showing top scores. 104 | - A timer for each question (e.g., 10 seconds). 105 | - The ability to pause and resume the game. 106 | - Admin functionality to: 107 | - Upload and manage quiz questions and answers in a table. 108 | - Organize questions by categories. 109 | - **Bonus Features**: 110 | - Add power-ups like: 111 | - Implement dynamic question difficulty where harder questions yield more points. 112 | - Include fun animations or sound effects for correct/incorrect answers. 113 | 114 | **6. Scalable Multi-Site Desk and Room Booking Solution** 115 | - Create a booking app to manage desks and meeting rooms across multiple locations where users can: 116 | - Select a site and view available desks/rooms. 117 | - Book a desk/room for a specific date and time. 118 | - Filter available Rooms by features such as the equipment and facilities of the room and the capacity the room can hold. 119 | - Amend or cancel their existing bookings 120 | - **Features**: 121 | - Display: 122 | - A calendar view of bookings. 123 | - Booking details, including the booker and duration. 124 | - Admin functionality to: 125 | - Add or remove desks/rooms at each site. 126 | - View booking statistics (e.g., busiest sites, most booked times). 127 | - Prevent double bookings or conflicts. 128 | - Shuffle bookings accordingly in the event of urgent/high-priority incoming requests for rooms/desks where availability is limited 129 | - **Bonus Features**: 130 | - Integrate with Teams for meeting room bookings. 131 | - Add a section where admins can upload floor plans for sites as a document and users can click to see this document when looking to book at a location. 132 | 133 | --- 134 | 135 | ### **Fun Challenge** 136 | 137 | **7. Connect 4 Game in a Canvas App** 138 | - Build a two-player Connect 4 game where users can: 139 | - Play turn-based with clear indicators for whose turn it is (red vs. yellow). 140 | - Drop pieces into columns, which fall to the lowest available row. 141 | - Allow two people to use one app session to play on one device 142 | - **Features**: 143 | - Display: 144 | - A 7x6 grid with occupied and empty cells. 145 | - A message showing whose turn it is. 146 | - Game logic to: 147 | - Detect winning conditions (4 in a row, column, or diagonal). 148 | - Reset the game after a win or draw. 149 | - **Bonus Features**: 150 | - Add a scoreboard to track wins for each player. 151 | - Include animations for pieces dropping into place. 152 | - Allow users to challenge someone and play against them in different sessions on different devices and notify the opposing user that it is their turn via Teams. 153 | 154 | --- 155 | 156 | ## 🛠 Submission Guidelines 157 | 158 | 1. **Build Your Solution**: 159 | - Choose a challenge and design your solution using the Power Platform. 160 | - Include all necessary files (exported solution, and supporting documentation such as technical design documents, user interface mock-ups, user/administration guides, data or deployment scripts to help make your app fully functional following deployment etc). 161 | 162 | 2. **Package Your Solution**: 163 | - Zip your project files into a single `.zip` file. 164 | - Name the file as: `yourname_projectname.zip` (e.g., `john_doe_connect4.zip`). 165 | 166 | 3. **Submit Your Entry**: 167 | - Go to the [Issues](../../issues) tab in this repository. 168 | - Click **New Issue** and fill out the submission form: 169 | - **Participant Name**: Enter your name. 170 | - **Project Name**: Enter the challenge name. 171 | - **Description**: Briefly describe your app. 172 | - Attach your `.zip` file to the issue and submit. 173 | 174 | --- 175 | 176 | ## 📝 Feedback and Recognition 177 | 178 | - **Personalized Feedback**: 179 | - Receive constructive feedback on your submission, including: 180 | - Areas of strength. 181 | - Suggestions for improvement. 182 | - Bonus feature highlights. 183 | - **Grading System**: 184 | - Solutions will be graded on: 185 | - **Functionality**: How well does the app meet requirements? 186 | - **Adherance to Architectural/Design Best Practices**: 187 | - Did you use the most appropriate type of component(s) within the Platform Platform? 188 | - How well did you use Out of the Box features and components? 189 | - Have you tailored your app to suit the different types of target user personas? 190 | - Did you design an optimal data model? 191 | - Did you consider relevant governance and data access control measures? 192 | - How easy will your solution be to maintain? 193 | - Does your solution leverage any unsupported techniques? 194 | - **Creativity**: Are there unique or innovative features? 195 | - **User Experience**: Is the app intuitive and easy to use? 196 | - **Bonus Features**: Did you implement optional extras? 197 | - Grades: 198 | - **Outstanding**: Exceptional, exceeds the requirements. 199 | - **Proficient**: Fully meets the requirements. 200 | - **Developing**: Partially meets the requirements with room for improvement. 201 | 202 | - **Portfolio Showcase**: 203 | - Use your submission as a portfolio project. 204 | 205 | --- 206 | 207 | ## 📅 Timeline 208 | 209 | - **Challenge Start Date**: 21/11/2024 210 | - **Submission Deadline**: 17/01/2025 211 | 212 | --- 213 | 214 | Join the challenge, showcase your skills, and grow your Power Platform expertise! 💡✨ 215 | --------------------------------------------------------------------------------