Git Product home page Git Product logo

how-does-tauvares-work's Introduction

HOW DOES TAUVARES WORK?

This should be a reference on how my work is usually done, always trying to follow the best practices on software development. Please feel free to help me with some sugestions of improvement!

NEW APPLICATION DEVELOPMENT PROCESS

In this document, I suggest an order or steps to follow when creating a new Application, coming from the very beginning, when an idea flourishes, until the final delivery where a system is up and running:

1) A new idea appears on the horizon;

Tools used for this step: Brain

2) The ideation process is taken, and the final product is an ideation report;

Tools used for this step: Libreoffice, Text Editor

3) From the ideation report, UX design takes part and a UI/UX design report is generated, including the five layers of UX design, which are:

  1. Product Objectives;
  2. Specification;
  3. Structure;
  4. Navigation Design/Wireframing;
  5. Interface/Prototyping;

Tools used for this step: Libreofice (Objectives, Specification, Structure), Indesign + Adobe Suite + Axure + HTML + CSS + Bootstrap(Wireframing, Prototyping);

4) Using the UI/UX design report as supporting documentation, the REST API is designed, following this sequence:

  1. Entities modeling/UML class diagram creation;
  2. Operations under Entities modeling/UML use cases creation;
  3. Database tables creation, based on the diagrams provided before;
  4. REST API implementation, based on the diagrams created. This step is achieved using a REST API generator tool, like Strongloop;
  5. REST API documentation, using a REST API specification format, like Swagger, for example;

Tools used for this step: UML documenting tools, MongoDB, Strongloop, Atom, VSCODE, NodeJs;

5) Front-end implementation, based on the prototype created on step 3, and integration with the REST API end points;

Tools used for this step: Atom, VSCODE, HTML, CSS, Bootstrap, AngularJS, Ionic Framework, Cordova and Yeoman;

6) Application deployment, for testing and production;

Tools used for this step: Heroku PaaS, IBM Bluemix, etc;

7) Upload code to github;

Tools used for this step: Atom, VSCODE, terminal, github.com.

8) Go to step 1;

Practices adopted while programming (PRE-REQUISITES)

To get a good quality during the development process, I try to adhere to best practices used in software development such as:

1) Create applications using the npm-init-* commands

  • It helps to identify each app uniquely;
  • It helps to identify the authors properly;
  • It helps to identify types of licenses properly;

2) Create .gitignore file using gitignore command

  • Avoid uploading unnecessary files to the github, helping users to download smaller projects

3) Create README.md, LICENSE.md (and CONTRIBUTING.md) files

  • Allows the users to get easy instructions on how to get started to the project

4) Use of ESLint (Right now I prefer the airbnb style for Javascript)

  • To maintain styling uniformity in the code, helping other developers to easily understand the source code

5) Create file .editorconfig file

  • To respect automaticaly the ESLint rules according the codestyling adopted

6) Config the npm scripts inside package.json to easily run the ESLint

  • Allowing the app to be checked before push the development branch to the github repository

7) Install Husky module

  • Checks the code using ESLint and npm scripts before commit/pushing files using git, and only permits clean code to be commited/pushed

License

This project is licensed under the MIT License - see the LICENSE.md file for details

how-does-tauvares-work's People

Contributors

tauvares avatar

Stargazers

Samuel Teixeira Santos avatar

Watchers

James Cloos avatar  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.