Commit 385e5a96 authored by Florent Chehab's avatar Florent Chehab

Merge branch 'doc_update' into 'master'

Doc update

See merge request chehabfl/outgoing_rex!8
parents 5f6f8944 973e4431
Pipeline #26256 failed with stages
in 1 minute and 31 seconds
stages:
- test
- syntaxe
- doc
- deploy
testing:
stage: test
image: python:3.6.5-jessie
......@@ -19,7 +25,7 @@ testing:
- docker
flake8:
stage: test
stage: syntaxe
image: python:3.6.5-jessie
script:
- pip install flake8
......@@ -28,12 +34,16 @@ flake8:
- docker
pages:
stage: deploy
stage: doc
image: floawfloaw/plantuml
dependencies:
- testing
script:
- mkdir .public
- mv htmlcov/ .public/coverage
- cd docs/UML
- make all
- cd ../../
- mv docs/ .public/docs
- mv .public public
artifacts:
......
generated
\ No newline at end of file
@startuml
package AbstractModels #lightgrey{
abstract class Module{
+ icon : string
+ name : string
+ description : string
}
abstract class BasicModule{
+ comment : string
+ usefull_links : JSON \n array of {url,description}
}
abstract class ScholarShip{
+ type : string
+ amount_min : float {}
+ amount_max : float {}
}
abstract class Photo{
+ file : image
+ tile : string
+ description : MD
}
BasicModule -up-|> Module
Photo -right-|> Module
ScholarShip -right-|> BasicModule
abstract class Campus{
+ name : string
+ Comment : MD
+ longitude : float
+ latitude : float
}
Campus -left|> Module
class CityCopy1 as "City" #red
Campus "*" -right[bold,#green]- "1" CityCopy1
}
package CampusExtra {
abstract class BasicModuleCopyCampusExtra as "BasicModule" #red
class CultureAndStudentLife
class Accomodation
class Transport
CultureAndStudentLife -up-|> BasicModuleCopyCampusExtra
Accomodation -up-|> BasicModuleCopyCampusExtra
Transport -up-|> BasicModuleCopyCampusExtra
}
CultureAndStudentLife -down- Campus
Accomodation -down- Campus
Transport -down- Campus
@enduml
\ No newline at end of file
@startuml
!include Core.pu
!include UniversityModules.pu
!include CountryModules.pu
!include AbstractModules.pu
!include IndiFunctions.pu
@enduml
@startuml
package Core {
' note as notePackageCore
' <b>Write access is restricted to site admins and the members of the DRI group.</b>
' On some models, users can make requests for modifications (for this a copy of the model is used for storing).
' end note
class City #white {
+ name : string
+ local_name : string
+ area : string
}
class Country #white {
# iso_alpha2_code : string{2}
+ name : string
+ region_code : string{3}
+ region_name : string
+ sub_region_code : string{3}
+ sub_region_name : string
+ intermediate_region_code : string{3}
+ intermediate_region_name : string
}
City "*" -left-* Country
note "Countries are intially \n hardcoded in the db." as N2
N2 .up. Country
class University #wheat {
+ name : string
+ accronyme : string
+ logo : image
+ website : url
}
University "1" .right. "1" City
note on link #white
This link is acheived
through the main campus module
end note
abstract class CampusCopy1 as "Campus" #red
class MainCampus
MainCampus -|> CampusCopy1
MainCampus "1" -[bold,#green]up- "1" University
Class Offer {
+ nb_seats_offered : int
}
Class Semester{
+ name : string
+ searchable : bool
}
Class Departement{
+ name : string
+ accronyme : string
+ searchable : bool
}
Class Specialty {
+ name : string
+ accronyme : string
+ searchable : bool
}
Offer "*" -right- "1" University
Offer "*" -down- "1" Semester
Offer "*" -left- "1..n" Departement
Specialty "1..n" -left- "1" Departement
note "Initial data inserted in db." as N3
Semester .. N3
N3 .. Specialty
N3 .. Departement
class UsefullLinks #green{
+ content : MD
}
note left of UsefullLinks: It will be a dynamic page \n on the website
}
' End of Core block
@enduml
\ No newline at end of file
@startuml
package CountryModule{
abstract class PhotoCopyCountry as "Photo" #red
abstract class BasicModuleCopyCountry as "BasicModule" #red
abstract class ScholarShipCopyCountry as "Scholarship" #red
class CultureCountry as "Culture"
class VisaAdministrative
class HealthAssurance
class TransportCountry
class PhotoCountry
class ScholarshipCountry
CultureCountry -up-|> BasicModuleCopyCountry
VisaAdministrative -up-|> BasicModuleCopyCountry
HealthAssurance -up-|> BasicModuleCopyCountry
TransportCountry -up-|> BasicModuleCopyCountry
PhotoCountry -up-|> PhotoCopyCountry
ScholarshipCountry -up-|> ScholarShipCopyCountry
class CountryModules #grey
CultureCountry "1" -down[bold,#green]- "1" CountryModules
VisaAdministrative "1" -down[bold,#green]- "1" CountryModules
HealthAssurance "1" -down[bold,#green]- "1" CountryModules
TransportCountry "1" -down[bold,#green]- "1" CountryModules
PhotoCountry "1" -down[bold,#green]- "1" CountryModules
ScholarshipCountry "*" -down- "*" CountryModules
}
CountryModules -down[bold,#green]- Country
@enduml
\ No newline at end of file
@startuml
package IndividualizedFunctionalities #lightblue{
class UniversityCopy1 as "University" #red
class SpecialtyCopy1 as "Specialty" #red
class UserCopy1 as "User" #red
class SemesterCopy1 as "Semester" #red
class RecommendationList{
+ name : string
+ public : bool
+ content : JSON array \n \t University : FK \n \t comment : MD \n \t adequation_grate : integer
}
UniversityCopy1 "*" -up- "*" RecommendationList
SpecialtyCopy1 "1..n" -up- "*" RecommendationList
UserCopy1 "1" -left- "*" RecommendationList
note as N4
Adequation_grade null or [1,6]
tags for custom list
List can be copied by other user if public.
Presentation like ipython notebook.
endnote
N4 .right. RecommendationList
class PreviousDeparture{
+ adequation_comment : MD
+ integration_comment : MD
+ adequation_grade : integer
+ adequation_grade : integer
}
PreviousDeparture "*" -left- "1" UserCopy1
PreviousDeparture "*" -up- "1" SpecialtyCopy1
PreviousDeparture "*" -up- "1" UniversityCopy1
PreviousDeparture "*" -up- "1..n" SemesterCopy1
}
' End of IndividualiedFunctionalities packages
@enduml
\ No newline at end of file
TARGET=\
generated/Architecture.svg \
generated/Core.svg \
generated/UniversityModules.svg
generated/CountryModules.svg \
generated/AbstractModules.svg \
generated/IndiFunctions.svg \
all: $(TARGET)
generated/%.svg: %.pu
mkdir -p generated/
plantuml -tsvg -o $(abspath generated/) $<
.PHONY: clean
clean:
rm -rf generated/
@startuml
skinparam defaultFontName Inconsolata
package UniversityModule{
abstract class PhotoCopyUniversity as "Photo" #red
abstract class BasicModuleCopyUniversity as "BasicModule" #red
abstract class ScholarShipCopyUniversity as "Scholarship" #red
abstract class CampusCopyUniversity as "Campus" #red
class CultureUniversity as "Culture"
class TransportUniversity
class PhotoUniversity
class ScholarshipUniversity
class Courses
class SpecialOffer
class OtherStuff
class OtherCampus
class SemesterDate{
+ autumn_begin : date
+ autumn_end : date
+ spring_begin : date
+ spring_end : date
}
class UniversityInfo{
+ can_exchange : bool
+ can_double_degree : bool
+ cost_exchange : float
+ cost_double_degree : float
}
CultureUniversity -up-|> BasicModuleCopyUniversity
TransportUniversity -up-|> BasicModuleCopyUniversity
Courses -up-|> BasicModuleCopyUniversity
SpecialOffer -up-|> BasicModuleCopyUniversity
OtherStuff -up-|> BasicModuleCopyUniversity
SemesterDate -up-|> BasicModuleCopyUniversity
UniversityInfo -up-|> BasicModuleCopyUniversity
OtherCampus -up-|> CampusCopyUniversity
PhotoUniversity -left-|> PhotoCopyUniversity
ScholarshipUniversity -right-|> ScholarShipCopyUniversity
class UniversityModules #grey
CultureUniversity "1" -down[bold,#green]- "1" UniversityModules
TransportUniversity "1" -down[bold,#green]- "1" UniversityModules
PhotoUniversity "1" -right[bold,#green]- "1" UniversityModules
Courses "1" -right[bold,#green]- "1" UniversityModules
OtherStuff "1" -right[bold,#green]- "1" UniversityModules
SpecialOffer "1" -right[bold,#green]- "1" UniversityModules
UniversityInfo "1" -right[bold,#green]- "1" UniversityModules
SemesterDate "1" -right[bold,#green]- "1" UniversityModules
ScholarshipUniversity "*" -left- "1" UniversityModules
OtherCampus "*" -left- "1" UniversityModules
}
UniversityModules -down[bold,#green]- University
@enduml
......@@ -3,6 +3,7 @@
* [Présentation](/)
* [Installation](installation.md)
* [Chargement des données](load.md)
* [Architecture](architecture.md)
* [API](API.md)
* [À propos de cette documentation](this_doc.md)
* [Contributions](contributions.md)
\ No newline at end of file
Architecture
===============================
Présentation de l'architecture du backend.
Vue complète :
![Architecture](UML/generated/Architecture.svg)
Vue plus précise :
![Core](UML/generated/Core.svg)
![AbstractModules](UML/generated/UniversityModules.svg)
![Architecture](UML/generated/CountryModules.svg)
![Architecture](UML/generated/AbstractModules.svg)
![Architecture](UML/generated/IndiFunctions.svg)
\ No newline at end of file
......@@ -3,7 +3,7 @@ Django==2.0.3
django_heroku==0.3.1
gunicorn==19.7.1
psycopg2-binary==2.7.4
git+https://github.com/mingchen/django-cas-ng.git@23e755c61d58c957a056c7a321272ab5888797a9#egg=django-cas-ng
git+https://github.com/mingchen/django-cas-ng.git@e9c0472e326087bfb839487f0736a4e1454cffda#egg=django-cas-ng
djangorestframework==3.8.2 # Django REST Framework
markdown==2.6.11 # Complement for Django REST framework
django-filter==1.1.0 # Support filter in REST API
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment