Code Monkey home page Code Monkey logo

utopia's Introduction

Utopia

banner

Flutter Dart Firebase

About the app

A blogging application where users can publish their blogs and articles and can connect with other authors, developed using Flutter and Firebase.

Get it on Google Play

Snaphots

1|4 3|2

License

Copyright ยฉ 2022 Utopia

Being Open Source doesn't mean you can just make a copy of the app and upload it on playstore or sell
a closed source copy of the same.
Read the following carefully:
1. Any copy of a software under GPL must be under same license. So you can't upload the app on a closed source
  app repository like PlayStore/AppStore without distributing the source code.
2. You can't sell any copied/modified version of the app under any "non-free" license.
   You must provide the copy with the original software or with instructions on how to obtain original software,
   should clearly state all changes, should clearly disclose full source code, should include same license
   and all copyrights should be retained.

In simple words, You can ONLY use the source code of this app for `Open Source` Project under `GPL v3.0` or later
with all your source code CLEARLY DISCLOSED on any code hosting platform like GitHub, with clear INSTRUCTIONS on
how to obtain the original software, should clearly STATE ALL CHANGES made and should RETAIN all copyrights.
Use of this software under any "non-free" license is NOT permitted.

Requirements

  • Dart sdk: ">=2.18.0
  • Flutter ">=3.3.1"
  • Android: minSdkVersion 23 and add support for androidx (see AndroidX Migration to migrate an existing app)

Get Started

  • Fork the the project
  • Clone the repository to your local machine
  • Create and checkout a new branch (name of the branch should be meaningful)
  • Create a new file named '.env' without quotes inside the root directory.
  • Inside the .env file , add this single line:
  • baseUrl = https://some-api-url-provided-by-firebase-realtime-db

Running the project with Firebase

  • Create a new project with the Firebase console.
  • Add Android app in the Firebase project settings.
  • On Android, use com.utopia.prod as the package name.
  • then, download and copy google-services.json into android/app.

See this document for full instructions:

Setting up Firebase for backend services (Authentication , database and storage )

  • Go to Firebase authentication section and enable Email/Password method for authentication
  • Go to Firebase Realtime database and create a new database in test mode . Copy the API url and paste it into .env file you just created .
  • Go to Firebase Firestore database and create a new database in test mode.
  • Go to Firebase Firestore Storage and create a new database in test mode.

Issues

Please file specific issues, bugs, or feature requests in our issues section.

Contribution

Please go through the contribution guide before raising any pull request.

Project Admin


Subhojeet Sahoo

๐Ÿ’ป

Project Contributors


Subhojeet Sahoo

๐Ÿ’ป

Abhishek Kumar

๐Ÿ’ป

Vishal Kumar

๐Ÿ’ป

Dont forget to โญ the repo

utopia's People

Contributors

abhi-kr21 avatar alpha17-2 avatar ismailyegnr avatar kaizer111 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

utopia's Issues

Add obscure text feature.

Add obscure text feature for auth text fields so that the password field value can be made visible or hidden according to user choice.@

Create a new screen to display notifications

Use firebase realtime DB for storing the notifications.

  • Create a screen to display notifications.
  • Create a notification class model.

Notify users if :-

  • Users follow them.
  • Someone likes their articles
  • Someone comments on their articles.

Add Shimmer effect

  • Profile screen
  • Explore articles screen
  • My Articles screen
  • User Profile Screen ( profile for displaying different user's profile )
  • Notification Screen
  • Comment screen
  • Followers screen
  • Following screen
  • Blocked users screen
  • Recent Articles box

Implement a dialog box for publish button in create new article screen.

  • Dialog box should appear upon tapping the publish button of appbar.
  • It should contain 2 textfields and 1 dropdown textfield asking for article details.

Details :

  1. Texfield should ask for title of the article.
  2. Dropdown textfield should ask for category of the article.
  3. Textfield should ask for article tags - user input will be a string separated by ',' (coma) that will be further used to split it into a list .

modification needed

instead of 'report article' and 'block author' options , display 'delete article' in the pop up menu button in display article screen.

bug : articles and users should be found irrespective of the case (lower/upper) of the search query provided.

For example :
If we try to search 'Subhojeet' and there exists some user named the same the algorithm works fine as it displays the user but when we try to find 'subhojeet' ( note the case of the search query is changed now ) we get no users found message which shouldn't be the case.
Modify the search algorithm in such a way that users can be searched irrespective off the case of search query.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.