[PL][EN] Kilka słów o projekcie / Some words about project

[PL]

Rozpoczyna się rywalizacja w konkursie „Daj Się Poznać!”. Dzisiaj powiem kilka słów o projekcie, który zamierzam tworzyć w ramach konkursu.

Poprzedni wpis z serii:

Funkcjonalność

Będę tworzył aplikację webową.

Aplikacja będzie skierowana do osób piszących historie. Nie chcę żeby to był zbyt rozbudowany projekt. 3 miesiące to jednak nie tak dużo dla jednej osoby ;)

Założenia są tak:

  • Aplikacja ma pozwalać dodawać kolejne rozdziały jako osobne obiekty
  • Kolejność rozdziałów będzie mogła być zmieniona metodą drag&drop
  • Dostępny będzie wygodny, prosty edytor
  • Do każdego rozdziału będzie można dodać tagi zawierające m.in. bohaterów, miejsca, wydarzenia
  • Dzięki tagom w trakcie pisania użytkownik będzie mógł kontrolować spójność historii
  • W rozdziałach będzie można dodawać paragrafy
  • Wybieranie kolejności paragrafów w ramach rozdziału będzie działało podobnie jak wybieranie kolejności rozdziałów
  • Będzie można wygenerować link do gotowej opowieści wyświetlanej czytelnikom w atrakcyjny sposób
  • Będzie można zapisać gotową opowieść jako plik PDF
  • Użytkownicy będą mogli się rejestrować
  • Konto użytkownika będzie pozwalało na tworzenie własnych opowiadań i dodawanie istniejących do ulubionych

Mimo wielu punktów całość wygląda jak prosty CRUD :) Jednak projekt tworzę głównie po to, żeby nauczyć się nowych technologii. A skoro o nich mowa…

Technologie

Ponieważ zawodowo jestem programistą C# do projektu postanowiłem wykorzystać… Javascript :D

Dokładnie tak. Planuję całość napisać w tym języku.

Po stronie serwera działał będzie Node.js. Może wykorzystam jakiś framework. Ale zadanie jest na tyle proste, że nie będę tego robił dopóki nie trafię na dużą przeszkodę korzystając z czystego Noda.

Wyświetlaniem widoków zajmie się React.js. Dodatkowo style będę pisał w SASS lub LESS. Całość będzie składana z użyciem Gulpa.

Mam nadzieję, że uda się też napisać trochę testów. Jeszcze nie wiem jak to się robi w Javascripcie dlatego nie powiem teraz czego użyję.

Ponieważ aplikacja jest mała postaram się w niej użyć jak najwięcej fajnych dodatków. Nie chcę żeby było to po prostu pobranie danych z bazy i wyświetlenie kilku stron HTMLa.

Na bazę danych jeszcze się nie zdecydowałem. Na początek będę dane trzymał w pamięci. Mam ochotę wykorzystać MongoDB bo wydaje się naturalnym wyborem i pasuje do stylu treści, która będzie zapisywana.

Aplikacja będzie powstawała na Windowsie, nie widzę sensu bawić się w konfigurację Linuxa specjalnie do jednego projektu.

 

[EN]

Competition Get Noticed! begins. Today I’ll tell you some words about project which I want to create in the competiton.

Features

I’ll create web application.

The application will be addressed to people who write stories. I don’t want the project to be too complex. 3 months isn’t as much time for 1 person ;)

Assumptions:

  • Application should allow add new chapters as separate objects
  • Order of chapters can be changed by drag&drop
  • Convenient and easy to use editor
  • In each chapter you will can be added tags which containing characters, places or events
  • With tags the user can control the consistency of history
  • In chapters you will can be added paragraphs
  • Selecting the order of paragraphs in chapter will work as same as selecting the order of chapters
  • You will be able to generate a link to the finished story displayed to visitors in an attractive way
  • You will be able to save the finished story as PDF file
  • Users will be able to register
  • User’s account will be allowed to create their own stories or add existing as favorite

Despite the many points it looks like simple CRUD :) However, the project I make mostly just to learn new technologies. And while we are talking about…

Technologies

Because I work as C# programmer in the project I decided to use… Javascript :D

Exactly. I plan to write a whole application in this language.

On the server-side will operate Node.js. Maybe I will use some framework. But the task is so simple that I will not do until I don’t find the big obstacle using pure Node.js.

The views will display React.js. Additionaly styles I’ll write in SASS or LESS. All will be assembled using Gulp.

I hope that I can write some tests. I don’t know how it’s done in Javascript so I can’t say now what I’ll use.

Because application is small I’ll try to use it as much as possible of cool extras. I don’t want it to be simply downloading data from the database and displays some HTML pages.

I haven’t decided what I’ll use the database. At the beginnig I’ll keep the data in memory. I want to use MongoDB because it seems the natural choice and match the style of the data to be saved.

The application will be built on Windows. I see no point to play in the configuration of Linux secifically for one project.

2 thoughts on “[PL][EN] Kilka słów o projekcie / Some words about project”

  1. Hej,

    Świetny pomysł. Sam kiedyś szukałem podobnego . Oprogramowania.

    Znalazłem (płatnego) Scrivenera. Chyba jeden z najlepszych programów dla piszących historie, opowiadania, artykuły, czy powieści. Nadaje się też dla scenarzystów.

    Jeśli mogę coś podpowiedzieć z funkcjonalności tego programu, to fajne i często wykorzystywane jest zaznaczanie etapu na jakim znajduje się dany rozdział. Na przykład – pomysł , szkic, pierwszy zarys, do poprawki, gotowe itp.

    Świetna sprawa to kolekcje i widok Scrivenering. Ale to za dużo pisania :-)

    Możesz sprawdzić wersję trial, może coś Cię zainspiruje. Jest na przykład ciekawa funkcja – generator imion i nazwisk :-) Działa tylko z anglojęzycznymi imionami i nazwiskami.

    Życzę powodzenia w konkursie.

    1. Dzięki wielkie, za miłe słowa :) Szczerze mówiąc nie przypuszczałem nawet, że istnieją takie wyspecjalizowane programy :D
      Status rozdziału łatwo będzie dodać więc na pewno rozważę pomysł, dzięki ;) Jak będę miał wolną chwilę to na pewno też zerknę na podany przez Ciebie program :)

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *