Giter Site home page Giter Site logo

engrave's Introduction

Engrave

Artist's Paradise!

Time: Sat (24 Oct 17:00)-Sun (25 Oct 18:00)

Resources

Getting Started

The Boilerplate contains the minimal implementation required to create a basic flutter project.

How to Use

Step 1:

Fork this repo

Step 2:

Download or clone forked repo :

git clone "Forked Repo URL"

Step 3:

Set main repo as upstream:

git remote add upstream https://github.com/Amitpatil215/Engrave.git

Step 4:

Fetch changes from the upstream repo:

[Every time you start working make sure ur up to date with upstream repo ]

git rebase upstream/master    ...(prefer this)
OR
git pull upstream

Step 5:

Go to project root and execute the following command in console to get the required dependencies:

flutter pub get

Contribute:

Step 1:

Stage and Commit your changes with helpful message:

git add .
git commit -m "your message"

Step 2:

Push changes to your forked repo:

git push origin master

Step 3:

Create a pull request to master branch of main repo

Note:

  • Send a PR for every new feature no matter how small changes are.
  • We have github actions (CI) for dart code analyzation. Make sure while commiting your changes don't have any analyzer warnings.
  • Write appropriate comments and commit messages

Features:

  • Login
  • Sign Up
  • Home Screen (Feed)
  • Profile (Manage Users Profile)
  • Category Screen

Libraries & Tools Used

Folder Structure

Here is the core folder structure which flutter provides.

engrave/
|- android
|- build
|- ios
|- lib
|- test

Here is the folder structure we have been using in this project

assets/
|-fonts/
|-images/
lib/
|- Model/
|- Provider/
|- Screen/
|- widgets/
|- main_properties/
|- main.dart

Now, lets dive into the lib folder which has the main code for the application.

1- Model - Basic structure of objects used in application

2- Provider - Contains the State management for the project to connect the reactive data of your application with the UI, also includes functionality for CRUD operations from the backend.

3- screen — Contains all the ui of your project, contains sub directory for each screen.

  Naming Convention:  screens/Screen_name.dart

4- widgets — Contains the common widgets for your applications. For example, Button, TextField etc. By refactoring split widgets from screen.dart file

  Naming Convention:  widgets/Screen_name/widget_name.dart

5- main_properties
    5.1- routes.dart — This file contains all the routes for your application.
    5.2- theme.dart - This file contains basic theme for your application.

6- main.dart - This is the starting point of the application. All the application level configurations are defined in this file i.e, theme, routes, title, orientation etc.

Stuck while building?

  • Create issue with error logs and code having that error
  • Share the code using gist

Backend

1. Firebase Storgae: For storing images.
2. Firebase auth service: For email authentication.
3. MongoDB :
- For Storing image links, description, user profile.
- Must be hosted on  hosting service like Netlify, heroku or whichever suits the requirement.

*Requirement from database
      - API for performing Post, Get, Update, Delete data.
      - Returns Json data on get request.
      - For post,update request Json data would be provided.

Show Some Love by staring the repo!

engrave's People

Contributors

amitpatil215 avatar muskan4010 avatar

Watchers

 avatar

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.