The best app to keep track of your wishes and find the perfect gift for a friend, now open source!
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

6.0 KiB

Presents: A Desired Suprise

Presents Logo Landscape


ReadMe Navigation:

  1. What is Presents
  2. Features
  3. Roadmap
  4. Technology Stack
  5. Contributing Guidelines
  6. Copyright and License

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:

  1. Keeping losing the papers where you had written down the super cool product you saw and definitely wanted
  2. 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?”
  3. 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)

Some Presents screenshots


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:


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 in auth.dart too in order to use your local server with its self signed certificate


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.