All Projects → rootasjey → fig.style

rootasjey / fig.style

Licence: MPL-2.0 License
Quotes app for mobile (Android, iOS) & web

Programming Languages

dart
5743 projects
typescript
32286 projects
swift
15916 projects
objective c
16641 projects - #2 most used programming language
ruby
36898 projects - #4 most used programming language
HTML
75241 projects

Projects that are alternatives of or similar to fig.style

wikiquote
Retrieve quotes from any Wikiquote article.
Stars: ✭ 86 (+16.22%)
Mutual labels:  quotes, quote
motivate
⚡ motivate ⚡ - A simple script to print random motivational quotes. Highly influenced by linux command fortune.
Stars: ✭ 24 (-67.57%)
Mutual labels:  quotes, quote
javascript-forex-quotes
JavaScript Library for fetching realtime forex quotes.
Stars: ✭ 38 (-48.65%)
Mutual labels:  quotes
nova-inspire
The best way to connect with your customers is by reaching out and inspiring them. ~ Me
Stars: ✭ 14 (-81.08%)
Mutual labels:  quotes
richtypo.js
HTML typography enhancer for Node.js
Stars: ✭ 116 (+56.76%)
Mutual labels:  quotes
EverydayFun
A simple NPM package which can return everyday quotes, jokes, riddles and interesting facts!
Stars: ✭ 35 (-52.7%)
Mutual labels:  quotes
PyQuotes
PyQuotes is a Django-based web application and REST API. That will allow you to launch an online quotes service.
Stars: ✭ 23 (-68.92%)
Mutual labels:  quotes
stoic-quotes
An app that dispenses Stoic wisdom with bite-size quotes.
Stars: ✭ 25 (-66.22%)
Mutual labels:  quotes
my quotes
This project is deprecated. Flutter app for storing quotes
Stars: ✭ 32 (-56.76%)
Mutual labels:  quotes
DevLorem
No more 'Lorem ipsum', get some real quotes or speeches for your free text with this generator!
Stars: ✭ 59 (-20.27%)
Mutual labels:  quotes
python-forex-quotes
Library to fetch and parse realtime Forex quotes and convert currencies
Stars: ✭ 25 (-66.22%)
Mutual labels:  quotes
coBra
[co]erced [bra]cket, a simple vim plugin that forces brackets and quotes to be smart
Stars: ✭ 28 (-62.16%)
Mutual labels:  quotes
MQuote
MQuote provides you +700 Motivational & Inspirational quotes by famous authors, celebrities. Powered by Flutter
Stars: ✭ 22 (-70.27%)
Mutual labels:  quotes
kuote
Create beautiful Medium-like quotes, perfect for sharing on Twitter or Instagram.
Stars: ✭ 11 (-85.14%)
Mutual labels:  quotes
quotes
收集了一些每日一句的接口与网站。
Stars: ✭ 63 (-14.86%)
Mutual labels:  quotes
Programming-Quotes
Repository containing various programming quotes
Stars: ✭ 26 (-64.86%)
Mutual labels:  quotes
tabout
Tab out of quotes, brackets, etc for Visual Studio Code
Stars: ✭ 67 (-9.46%)
Mutual labels:  quotes
crypto-quotes
100+ Best of Crypto Quotes - I HODL, you HODL, we HODL! - BREAKING: BITCOIN JUST BROKE $22 000!
Stars: ✭ 12 (-83.78%)
Mutual labels:  quotes
Bracketeer
VS Code extension for easy and quick manipulation with brackets and quotes.
Stars: ✭ 32 (-56.76%)
Mutual labels:  quotes
tipograph
A little javascript library and command line tool that makes your written content more typographically correct.
Stars: ✭ 52 (-29.73%)
Mutual labels:  quotes

5 seconds of emotion

Status

Website GitHub release (latest by date) GitHub Release Date GitHub commits since latest release (by date) GitHub last commit Codemagic build status

Download




Table of Contents

Presentation

fig.style is a quotes app and service featuring one quote each day. It's available on web, Android, iOS & more to come. You can find quotes in English or French at the moment. More languages will be added later.

You can also try the APIs at dev.fig.style.

What's different from existing apps ?

Its simplify and beautiful user interface is the first thing you will notice, but there are more. The goal is to make the app available everywhere someone would want to read a quote (mobile apps, web browsers, smartwatchs, chats, virtual assistant, ...) while sustaining high quality code. I want to minimize bugs.

Because I like building technologies with well-intended people, this app is open sourced and welcome contributions whatever its size. You can also just give your feedback or submit new quotes to the service. As a open source project management takes a lot of work and setup, you cannot run this app on you local environment yet. I'll have to develop and publish the API, create the developer admin panel and adapt the app's code first.

Even if this app is open source, its data is not, meaning you can't directly access to the database for security reasons. But you can interect with the data through the published apps and with the API soon.

About the data, this project is not only an app but also a quotes service. I want to build the simplest and most complete service possible. A service through its API, apps and extensions (e.g. Chrome/Firefox extensions), simple to start with thanks to REST endpoints (possibbly GraphQL and languages SDK later), complete because each quote can have an author, one or more references and some comments about the context.

Most quotes apps focus on books references but I often find outstanding quotes in Movies, TV series, Video Games, Animés, Comics, and so on. Today's culture is richer than ever and there're not good reason to limit ourselves to one medium.

Technologies

Frontend

I made the decision to go with Flutter for the mobile app (Android/iOS) and web for this project after I gathered information on all available options to build a multiplatform app. It allowed to maintain a single code base and simplified the development in some cases. It also complicated the code architecture and the repository structure must be thoroughly managed.

Backend

For the backend, the services uses Firestore for online storage. It's a flexible, scalable database for mobile, web and server development from Firebase and Google Cloud Platform (this sentence is from their official website).

Authentication

Firebase Auth handles users' account creation, connections, third-party authentication, email & password update, account deletion, among other scenarios.

Cloud Functions

Firebase Cloud Functions is used for security checks when updating user's account for example. It's used for statistics too and for delayed deletion.

More about why and how I made these devlopment decisions in future blog posts.

How to add a quote

You can freely add a quote to the app after creating an account. You can add a maximum of 30 quotes per day but you can save the excess as drafts. Next day you will be able to submit another 30.

Basic rules

The service is manually handled and is not an automated process, so a human will read and validate your quote if it respect some basic rules:

  • Your quote must be short (usually no more than 250 characters)
  • It must be understandable
  • It should provocate an emotion or welcome a reflexion

You may find these validation criterias not clearer enough and it's understandable because a quote's appreciation is completely subjective. A quote making you smile may not evoke the same emotion to someone else.

Thus, as a rule of thumb, I recommend to always submit your quote if you think it's good enough. You will always receive an explication if your quote is not accepted.

Tips

We can't assure you than every submission will be accepted but you can improve your chances with these tips:

  • Check the grammar, sentences' structure and ponctuation (a quote with a lot of mistakes is more likely to be rejected)
  • Provide a valid author (and if this author doesn't already exist in the database, give a good amount of information - see existing authors' page to have an idea of what knowledge is useful)
  • Give a valid reference (and if this reference doesn't already exist in the database, give a good amount of information - see existing references' page to have an idea of what knowledge is useful)
  • Correctly categorize the quote with available topics
  • Add a comment if the quote really needs some context

Avoid

On the contrary, a short list of usual rejections:

  • Hard to understand due to missing or partial information
  • Strong language, offensive words or ideas
  • Too ordinary (the sentence doesn't have any particularity - e.g.: The sun is red)

If you still have doubts, you can always open an issue here or send us an email through the app.

Whenever you're down, look up. It'll make your realize just how big and beautiful the world is.
Emma Green — Away

Sustainability

In order to pay for the development cost, the app will use different sources of income. Depending on which works the best, other sources may disapear.

  • The most straightforward will be ads but no ugly ones. They must not disturb the user experience or, at most, have little impact on it.
  • Open Source sponsoring will be added through GitHub sponsor or Open Collective
  • In-app purchases can be a little bonus for people wanting to support directly without leaving the app. It will also remove ads on top of adding custom Unsplash or hand drawing backgrounds.

Roadmap

A better roadmap will be available later. For now, it's just a bullet list in this document.

  • Start API development
  • Third-party sign in (when Flutter web hashtag issue is solved in stale channel)

Contribute

PLEASE READ

⚠️ This project is in early development stage so the developer part hasn't been built yet. You won't be able to contribute at the moment without explicit authorization.

Code styles

Repository code styles for better structure and reading.

Dart class

Rules for dart classes.

  • All imports at the top, ascending ordered alphabeticaly
  • Variables declared at the top of the state
class _DashboardState extends State<Dashboard> {
  User userAuth;
  bool canManage = false;
  // ...
}
  • Class methods in priority order:
    • Overrides (e.g. initState)
    • build method
    • Custom methods which return a widget
    • Other functions (e.g. auth functions, fetch data, ...)

License

Mozilla Public License 2.0.

Please read the LICENSE for more information.

Please ask if you have any doubt.

Privacy Policy

You can find the platform's privacy policy in this repo: TOS.md

Screenshots

The following screenshots was taken on the web application.

web homepage Home


web recent quotes Recent


web search author Search


web random quotes Random quotes




The following screenshots was taken on the mobile application.
Clicking on an author's name will show you their information.


Author Search Topics
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].