![]() |
2 months ago | |
---|---|---|
.reuse | 2 months ago | |
LICENSES | 2 months ago | |
android | 2 months ago | |
assets | 2 months ago | |
ios | 2 months ago | |
lib | 2 months ago | |
.gitignore | 2 months ago | |
.metadata | 2 months ago | |
.metadata.license | 2 months ago | |
README.md | 2 months ago | |
analysis_options.yaml | 2 months ago | |
pubspec.yaml | 2 months ago |
README.md
Presents: A Desired Suprise
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
- Don’t 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!
Features:
- Wishlist syncronized across all your devices where, for each Wish, you can add:
- A title (required, for example New Hoodie)
- An approximative price (required)
- A link to a product page (which will be used to fetch a preview image too)
- A "priority level" (the wishes with an 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 informations 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 has been reserved)
Roadmap
- V2 Android application:
- New unique look
- Wishes' URL image preview
- New FOSS Backend (to replace Firebase)
- Dark Theme
- Responsive Design and Web Application
- Database Migration from Firebase (version 1, currently in production) to Appwrite
- Optional “upload image” field for whishes
- Deep links to share users profiles
- Birthday reminder notification for favorite users
Why does this repo starts 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 his first release, we decided to re-build it without using any proprietary software in order to protect our users data without having to share them with any third-party company. So we started working on this version 2 (that we decided to make open-source) replacing Firebase with AppWrite.
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 deployable while complete server backend
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 share its "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 togheter with all the Presents community.
If you have any question feel free to reach us by email
Setting up an AppWrite Server for Presents
To test Presents, we suggest to set up a local AppWrite server using a Docker container as explained in Appwrite's Official Documentation.
Then, from the AppWrite Web Console, you'll need to create a new project and, from the Project Settings, write down its ID
and its API Endpoint
.
After that, create a new collection with ID=userData
and, inside it, add the following attributes:
email
(string, required)username
(string, required)name
(string)birthday
(string)favUsers
(string array)presents
(string array)about
(string)profilePicId
(string)
Finally, clone this repository on your computer and change the awProjectID
and awEndpoint
inside constants.dart
.
NOTE: if you are using a local AppWrite Server, you'll probably need to uncomment the
.setSelfSigned
line inauth.dart
too in order to use your local server with its self signed certificate
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.