- Dart 99.5%
- HTML 0.5%
Presents: A Desired Surprise
ReadMe Navigation:
What is Presents
Presents is the ultimate social-wishlist app that you didn't know you needed. Why? Because with that one single app you will solve 3 huge problems:
- Keeping losing the papers where you had written down the super cool product you saw and definitely wanted
- Not knowing what to gift to a friend/relative but preferring to avoid the pathetic question: "hey what do you want as a gift?"
- Having to think many different answers for the pathetic question above (one for each relative/friend who asks you before Christmas/your birthday/...)
So what are you waiting for? Download the app, share it with your friends and say goodbye to the Birthday-Gift-Panic!
Why does this repo start from version 2?
Presents v1 has been published on the Google Play Store on 14th October 2020, and it was using Google Firebase as backend. After about a year from its first release, we decided to re-build it without using any proprietary software and to make it open-source.
Features:
- Wishlist synchronized across all your devices where, for each Wish, you can add:
- A title (required, for example New Hoodie)
- An estimated price (required)
- A link to a product page
- A link to a preview image
- A "priority level" (the wishes with a higher priority will be displayed on top of the wishlist)
- Profile page for all users where you can see user's:
- Full name
- Username
- Profile Picture
- Birth Date
- An About section white some information about his/her personality
- Wishlists of every user where you can see their wishes and reserve them to be the only one with that gift (don't worry, the owner of the wishlist won't be able to see which wishes have been reserved)
Technology Stack
This new version of Presents has been completely rewritten, and it's using a FLAW Stack:
- The FLutter framework for a native, cross-platform frontend
- The AppWrite project as an easy, scalable and complete server backend
NOTE: To keep this repository as clean as possible, the extraction logic for the preview images (that is meant to be run on a separate server to avoid CORS blocking) has been moved to a dedicated repository.
Contributing Guidelines
We appreciate all contributions and Pull Requests since we think that cooperation between developers and users is a core part of open-source. However, to ensure that the new code works flawlessly with the old one and shares the same style, all Pull Requests will be reviewed by a LezSoft developer before being merged.
If you have any non-code suggestion, please open an Issue here on Codeberg so that it will be discussed together with all the Presents community.
If you have any questions, feel free to reach us by email
Setting up an Appwrite Server for Presents
To test Presents, we suggest setting up a local Appwrite server using a Docker container as explained in Appwrite's Official Documentation, or to create a new Appwrite project on Appwrite Cloud.
After that, you can update the appwrite.config.json and the lib/constants.dart files with your own configuration details (API Endpoint, Project ID, Project Name and App Domain) and afterward restore the Storage and Database structure described inside the appwrite.config.json file using Appwrite CLI.
Copyright and License
This project has been developed by LezSoft. All the rights on the Presents brand (with its name and logo) are reserved.
Presents is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
Presents is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.