N
N
Nikolai Ignatiev2015-07-30 16:17:27
PHP
Nikolai Ignatiev, 2015-07-30 16:17:27

How to start developing an Information System?

Good afternoon friends!

Preamble/About me:
At the moment I have completed courses in Python (ITMO University in St. Petersburg + a course on edx.org), I have an idea about GitHub, basic knowledge of HTML5 and CSS3 (CodeCademy, HTMLAcademy courses, StackOverflow). JavaScript and jQuery are a common representation. As a graduation project in Python, I made a browser-based card game in python + flask. I protected it on a local PC, I did not have time to implement the network interaction of the players.

Having read plenty of motivating posts, I finally realized that until you create something yourself, you will not acquire the necessary skills.
The minus that I see is development in solitude. Not to feel all the delights of agile, scrum and other methodologies, not to mention the pitfalls.

As a result, I decided to develop an information system for collecting data analysis of network office equipment to perform the following tasks:
Equipment inventory (storage of information on receipt / movement / repairs)
Centralized receipt of information about the state of equipment for prompt ordering and replacement of consumables.

backend:

  • Python + Flask
  • DB (postgresql)

frontend:
  • HTML
  • css
  • jQuery


For what / Why did it start / Purpose:
  1. Automation of routine tasks of searching for data about the device, its location and
  2. Create a project that you are not ashamed to list in your portfolio as a novice programmer.
  3. Cover the range of technologies for further employment as a junior developer by the end of the year.


Question:
How to start developing an information system?
How to plan development work?


There are too many questions in my head, I don’t know which side to approach:
Data collection (there is an xls file with data on office equipment), System architecture, Database design, web interface, functionality, system users (colleagues in the department), UI, MOCKUPs, where and how to plan and carry out work?! Blog/GitHub or something else?

All this mess in my head sometimes drives me crazy and makes it difficult to start. And this is the most important thing! Because then I'm unlikely to stop without finishing. Despite the fact that around they say that no one needs it.
Now at least one person needs it - me. Then it will be useful to many.

Answer the question

In order to leave comments, you need to log in

8 answer(s)
V
Vladimir Proskurin, 2018-12-27
@Vlad_IT

You either get an error from PHP or incorrect JSON. Do not generate JSON manually, there is json_encode.

V
vasiiil, 2018-12-27
@vasiiil

Vladimir meant that you don’t need to manually collect the json string at all. Try like this:

<?php
$db = mysqli_connect("127.0.0.1", "root", "","main_t");
mysqli_set_charset($db,"utf8");

function getData()
{
    $data = [
        'cols' => [
            [
                'id' => '',
                'label' => 'Кандидатов',
                'type' => 'number'
                ],
            [
                'id' => '',
                'label' => 'Эффективность',
                'type' => 'number'
            ]
        ],
        'rows' => []
    ];
    $query = "SELECT `stars`,`age` FROM `main_t`";
    $res = mysqli_query($db,$query);
    
    while ($row = mysqli_fetch_assoc($res)) {
        $data['rows'][] = [
            'c' => [
                ['v' => $row['stars']],
                ['v' => $row['age']]
            ]
        ];
    }
    return  json_encode($data);
}

$data = getData();
echo $data;

?>

V
Viktor Vsk, 2015-07-30
@cyb3rD

1. Make flowcharts (sketches, wireframes) of each application page on paper
2. Type them up
3. Implement gradually the functionality for each of them
Start with the key functionality so as not to get stuck on registration, authorization, password change, access rights, optimization etc.

P
Pavel Shvedov, 2015-07-30
@mmmaaak

If you greatly simplify the goal of your project, you will get a simple application for conducting CRUD operations. There are many examples of such applications. Plus a couple of goodies for importing and exporting data from the outside (xsl). For speed and ease of building a UI - some CSS Framework, for personal choice: Bootstrap, Foundation ... Database - if the project is small, then SQLite. Well, a version control system is also a must. I recommend Git. In order to keep up with the times in building Web applications, I advise you to use some kind of front-end framework: Angular, Ember ...

P
Puma Thailand, 2015-07-30
@opium

just doing
a github is just version control without it, there is no life,
as I understand it, you already work somewhere and are going to apply this system somewhere, then just sit down and write, make the interface on the bootstrap standard.

A
Artem Klimenko, 2015-07-30
@aklim007

heh, I'm writing similar things myself =)
To begin with a description of the most important thing, the equipment.
What equipment do you want to store?
--- Make a list of models, manufacturers,
what parameters will characterize it?
---What are the different parameters of what types.
And here it is necessary to make one of the most important decisions in the field of parameter storage, how it should be presented in the database.
If the parameters are always the same, then one table with the necessary fields, if there are groups of equipment with their own sets of parameters, and there are not many of them and they will not expand, then separate plates describing the parameters of a particular type of equipment. And *drumroll* the most universal case, when each model can have an arbitrary set of parameters, models are created through the constructor, here again there are several options, either organize EAV, or let's store the parameter template and the values ​​themselves in json (it's just convenient in postgres), or the most difficult but also flexible, spacing into separate types in the database of different types of parameters, with custom behavior for each. - to be honest, the implementation of the latter will be enough for you until the end of the year ^^
Actually, for each type of parameters, it will be determined with its features, for example, will you have addresses, if so, it will simply be stored in text or pulled from some database (FIAS is allowed to be screwed), you can only select a house or you can link equipment to a block or street, what if there is no specific address? whether to store geocoordinates?. If you need ip addresses, it's just an ip, or you need to indicate which subnet it belongs to, related to the ip address accounting system itself.
Which fields will be unique, which are mandatory, which are read-only, how to inform the user about these features.
Well, there are all sorts of difficulties, whether the equipment can have topological relationships. Do you need to take into account ports (network electrical, etc.), vlan, clients on equipment, interaction with the equipment itself from the system interface, you can continue for a very long time, and you don’t need most of this ^^ The
question is what do you want to focus on?
If you want to deal with Layout, do not use ready-made frameworks, read about BEM, try less or sass, implement at least a terrible but your own interface, test in different browsers. Then pull a normal css framework, try to customize it for yourself.
It would be a good task to build a RESTapi for your service, with versioning, support for the INFO method ... And taking a good js framework, organize communication between the page and the server through the api.
It is best to get used to the git right away, and it is advisable to try working using this approach
in fact, different types of indexes in postgre, and yes, try using ORM (with a flag, apparently direct expensive to sqlalchemy).
ps sorry for the confusion =)

S
Spetros, 2015-07-30
@Spetros

Question:
How to start developing an information system?

From the terms of reference describing the information system in detail.
Break the implementation down into steps.

R
Riedel87, 2015-07-31
@Riedel87

Hey! In general, what you are told here is correct. I myself am a developer of corporate information systems by education.
Here is a book, I hope it helps you. At least structure your thoughts.
Now in Ozone it is not, but you can find it in other stores.
Good luck!
www.ozon.ru/context/detail/id/3811655

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question