13
EIP Manager Technical Documentation Guillaume Joye 2011_TD1_EN_RESASYSTEM.docx FA/EIP/FR/ET/002 Version 2.0 Ept4

ResaSystem - Epitech Innovative Projects

  • Upload
    newbu

  • View
    860

  • Download
    0

Embed Size (px)

Citation preview

Page 1: ResaSystem - Epitech Innovative Projects

EIP Manager Technical DocumentationGuillaume Joye 2011_TD1_EN_RESASYSTEM.docx

FA/EIP/FR/ET/002

Version 2.0Ept4

Page 2: ResaSystem - Epitech Innovative Projects

Sommaire

Application diagram p.3

Flux diagram p.4

Interaction description p.5

Installation manual p.6

Bug references p.11

References .11

DB schema p.12

2

Page 3: ResaSystem - Epitech Innovative Projects

Application diagram Members

Customers

3

Page 4: ResaSystem - Epitech Innovative Projects

Flux diagram

Application flux are the same for every website of this kind, there is the connexion time, the analysis of the user’s rights and the différents actions possible thanks to this rights.

4

Page 5: ResaSystem - Epitech Innovative Projects

Interaction description

Each users connects to be able to do search, he fill different things wich sort the ads posted by the owners. When rooms are find, the book is effective and with the grant of the owner, user pay for it.

5

Page 6: ResaSystem - Epitech Innovative Projects

Installation manual

Windows package

Folder description

- MySQL contains the MySQL database server installer- PostgreSQL contains the PostgreSQL database server installer- Ruby contains the Ruby environment all required RubyGems all required DLLs for Ruby- resasystem contains ResaSystem

Installation/Configuration

MySQL

Installation:- Launch the installer in the folder- when asked choose "Typical" installation type- Next/Install- On "Wizard Completed" screen check only "Configure the MySQL Server now"- configuration wizard opens- Choose "Detailed configuration"- Choose "Server Machine"- Choose "Multifunctional Database"- Choose InnoDB path (you can leave the default setting)- Choose "Decision Support"- Leave "TCP/IP Networking" and "Enable Strict Mode" checked- Choose "Manual Seelcted Default Character Set" and set it to "utf8"- Leave "Install As Windows Service" checked and check Include Bin Directory in Windows PATH"- set root password- Next/Execute/Finish

Configuration:- In Windows "Start" menu, launch MySQL > MySQL Server > MySQL Command Line Client- Prompt window opens, type in the root password choosen during the installation- mysql prompt appears- to create 'resasystem' database and user

6

Page 7: ResaSystem - Epitech Innovative Projects

mysql> CREATE DATABASE resasystem;mysql> USE mysql;mysql> CREATE USER 'resasystem'@'localhost' IDENTIFIED BY 'choose_a_password';mysql> GRANT SELECT, UPDATE, INSERT, DELETE, CREATE, DROP, ALTER, INDEX, TRIGGER-> ON resasystem.* TO 'resasystem'@'localhost';

if MySQL is already installed and you need to recover the root password- Stop your MySQL server completely. This can be done by accessing the Services window inside Windows XP and Windows Server 2003, where you can stop the MySQL service.- Open your MS-DOS command prompt using "cmd" inside the Run window. Inside it navigate to your MySQL bin folder, such as C:\MySQL\bin using the cd command.- Execute the following command in the command prompt: mysqld.exe -u root --skip-grant-tables- Leave the current MS-DOS command prompt as it is, and open a new MS-DOS command prompt window.- Navigate to your MySQL bin folder, such as C:\MySQL\bin using the cd command.- Enter "mysql" and press enter.- You should now have the MySQL command prompt working. Type "use mysql;" so that we switch to the "mysql" database.mysql> USE mysql;mysql> UPDATE user SET Password = PASSWORD('new password here') WHERE User = 'root';- create 'resasystem' database and user if needed- Close both prompt windows, relaunch the MySQL service

PostgreSQL

Installation:- Launch the installer- Choose paths- set postgres account password- Choose the port if needed- Choose the locale if needed- Uncheck "Launch Stack Builder as exit"- Finish

Configuration:- In Windows "Start" menu, launch PostgreSQL > pgAdmin- right click on localhost server on the left > "connect"- put in the postgres password- expand the server- right click on "Login Roles" > "New Login Role"Role Name : resasystemChoose passwordOK

- right click on "Databases" > "New database"

7

Page 8: ResaSystem - Epitech Innovative Projects

Name : resasystemOwner: resasystemEncoding: UTF8OK

To recover postgres passwrord- edit pg_hba.conf (by default in C:\Program Files\PostgreSQL\8.3\data)change line"host all all 127.0.0.1/32 md5"to"host all all 127.0.0.1/32 trust"- in Start menu > PostgreSQL > Reload Configuration- in Start menu > PostgreSQL > pgAdmin- right click on the local server, connect, leave password field blank- right click on "postgres" in "Login Roles" > "Properties..."- change the password, "OK"- close pgAdmin- revert pg_hba.conf file- restart PostgreSQL server

RubyLaunch the installer- Check Enable RubyGems- Choose path if needed- Finish the installation

- In the "Start" menu, Ruby > RubyGems > RubyGems Package Manager- prompt window opens- with Internet connectionRuby> gem install rubygems-updateRuby> update_rubygemsRuby> gem update --systemRuby> gem updateRuby> gem install --no-ri --no-rdoc <gem_name> (when required, with -v=needed_version)gems to install:- rails 2.3.5- mysql- ruby-postgres- sqlite3-ruby- rack 1.0.1

- without InternetRuby> gem install --no-ri --no-rdoc "path to ResaSystem-X-win32\Ruby\RS_win_rubygems_sysupdate\rubygems-update-1.3.6.gem"Ruby> update_rubygemsRuby> gem install --no-ri --no-rdoc "path to ResaSystem-X-win32\Ruby\RS_win_rubygems_sysupdate\*.gem"Ruby> gem install --no-ri --no-rdoc "path to ResaSystem-X-win32\Ruby\RS_win_rubygems\*.gem"

8

Page 9: ResaSystem - Epitech Innovative Projects

- Copy all the DLLs from ResaSystem-X-win32\Ruby\RS_win_rubydlls\ to C:\Ruby\bin

ResaSystem- copy somewhere resasytem folder- go to resasystem\config- choose the database.dbtype.yml file depending on the database you are using- replace the original database.yml with yours- edit the database.yml- change the connection section accordingly to the configuration of the database- in windows command promptprompt> cd "path to resasystem"resasystem> rake db:schema:loadresasystem> "path to ruby.exe" script\serverruby.exe default path : C:\Ruby\binserver should start- in a web browser open http://localhost:3000

Debian package

Folder description

- Debiancontains the necesseray packages- Rubycontains the necessary Ruby gems- resasystemcontains ResaSystem

Installation/Configuration

MySQLTo recover MySQL root password, as system root do the following in a terminal- stop the mysql daemon#/etc/init.d/mysql(d) stop

- relaunch the daemon with new option#mysqld --skip-grant-tables &

- launch mysql prompt#mysqlmysql> USE mysql;mysql> UPDATE user SET Password = PASSWORD('new password here') WHERE User = 'root';create 'resasystem' database and user if needed

- relaunch the daemon#/etc/init.d/mysql(d) restartor#/etc/init.d/mysql(d) stop#/etc/init.d/mysql(d) start

9

Page 10: ResaSystem - Epitech Innovative Projects

PostgreSQLTo recover PostgreSQL password, as rootlog in as postgres#su - postgres

as postgres user, launch PosgreSQL prompt$psql -d template1

template1=# ALTER USER postgres WITH PASSWORD 'new password';template1=# \q

Rubyinstall as root #dpkg -i Debian/debs/*.deb

#gem install --no-ri --no-rdoc rubygems-update.gem#/var/lib/gems/1.8/bin/update_rubygems

#gem install --no-ri --no-rdoc Ruby/gems/*.gem

ResaSystem- copy somewhere resasystem folder- go to resasystem\config- choose the database.dbtype.yml file depending on the database you are using- replace the original database.yml with yours- edit the database.yml- change the connection section accordingly to the configuration of the database- in a terminal, navigate to resasystem folder$ cd path/to/resasystem$ rake db:schema:load$ ruby script/serverserver should start- in a web browser open http://localhost:3000

10

Page 11: ResaSystem - Epitech Innovative Projects

Bugs references- Bug Gem « Devise » :

When user try to login in the member part of the website with a Customer account, if he select « log as member » the redirection target « after_sign_in_path_for » and then crash the application.

- Bug Gem « Paperclip » :

This gem doesn’t work on Windows and there is a problem on the configuration file when using « imagemagick ».

References- Official website of the ruby langage: http://www.ruby-lang.org/fr/.

- Documentations of the Framework Ruby-on-Rails : http://rubyonrails.org/ .

- Documentations of the développement manager application Github : http://help.github.com/

- Documentations of the hosting website for rails application Heroku:

: http://docs.heroku.com/

- Official documentation of the web development environment Aptana : http://docs.aptana.com/docs/index.php/Main_Page

- Website with many Podcast about Ruby-on-rails  development : http://railscasts.com/

11

Page 12: ResaSystem - Epitech Innovative Projects

DB Scheme

12