Programming Hacks šŸš€

Programming Hacks Application is a mobile application built with Flutter and Appwrite that provides a curated list of technologies along with tips and tricks for each technology. The application aims to assist programmers and developers in enhancing their knowledge and skills in various programming languages, frameworks, tools, and technologies. šŸ’”

Features āœØ

  • Technology List: Browse through a comprehensive list of technologies including programming languages, frameworks, and tools. šŸ“š
  • Tips and Tricks: Access a collection of useful tips and tricks for each technology to improve proficiency and efficiency. šŸ’Ŗ
  • User Interface and Experience: Enjoy an intuitive and visually appealing user interface for seamless navigation and readability. šŸŽØ
  • Daily Notifications: Receive daily notifications with random programming hacks to keep you motivated and expand your knowledge. šŸ“²
  • Hacks Sharing: Share interesting hacks with your friends and colleagues through various communication channels. šŸš€
  • Hacks Bookmarking: Bookmark the hacks you like and read them later. šŸ”–

Tech Stack šŸ› ļø

  • Flutter: We built the application using Flutter to enable cross-platform development for Android, iOS, Web, and Desktop. Flutter provides a rich set of widgets, allowing for fast rendering and smooth animations, resulting in a responsive user experience. Additionally, Flutter's hot-reload feature enables real-time UI changes, enhancing development speed. šŸ“±šŸ’»

  • Appwrite: We switched to Appwrite as the backend service provider. Appwrite is an open-source, self-hosted backend-as-a-service (BaaS) platform that simplifies server-side development tasks. It offers features such as a database, user authentication, file storage, and more, making it easier to build scalable and secure applications. šŸ”šŸŒ

Documentation šŸ“–

In the Application, we replaced Supabase with Appwrite as the backend service provider. Here's an overview of how Appwrite is utilized in the application:

Technologies Collection:

  • The Technologies collection is created in the Appwrite database to store information about various programming technologies such as programming languages, frameworks, and tools.
  • Each document in the Technologies collection represents a specific technology and holds relevant data, including the technology's name and any other attributes useful for categorizing or identifying the technology. šŸ“‚

Hacks Collection:

  • The Hacks collection is created in the Appwrite database to store tips and tricks related to specific technologies.
  • Each document in the Hacks collection represents a tip or trick and includes fields such as the hack's description, example code snippets, or any other relevant information.
  • To establish a relationship with the "Technologies" collection, each document in the Hacks collection includes a reference field that points to the corresponding technology document in the Technologies collection. šŸ”—

Authentication and User Management:

Appwrite provides user authentication and management features. Here's a brief description of how Appwrite authentication is used:

Authentication with Email and Password:

  • When a user wants to create an account in the application, they can use the signup feature.
  • The user provides their email address and password as input.
  • The Appwrite authentication system handles the signup process by calling the appropriate API endpoint from the Flutter application.
  • Appwrite validates the provided email and password, creates a new user account, and securely stores the user's credentials in its authentication system. šŸ”‘

Authentication with Google:

  • When a user wants to create an account in the application, they can use the signup feature with their Google account.
  • The user selects the option to sign up with Google and is redirected to the Google authentication

page.

  • After successful authentication with Google, Appwrite creates a new user account and securely stores the user's credentials. šŸŒ

About Us šŸ‘„

Welcome to our project! We are a dedicated team of four members working together to create something awesome. Here's a little bit about each of us:

Pratik Butani šŸŽÆ

Cavin Macwan šŸ’»

Nikunj Panchal šŸ“±

Vatsal Gajjar šŸš€

We are excited to bring you an amazing programming hacks application. Stay tuned for updates and new features! šŸŽ‰āœØ