- Presentation
- Documentation
- Analysis
- System Design
- Class Diagram (May be outdated)
- Architecture Modules
- Color Palette
- UI prototype
- Acknowledgements
miSalle was a product for the students of the Universidad De La Salle Bajío, but the server was blocked due to conflict of interests by the institution administration. You can read more about it at miSalle website
In this repository you will find the app of the product, which is the client of the system. To see the server side please refer to miSalle server on Github
To use the app you need univeristy expended credentials. For the security and privacy of the students of the institution I will not provide a user. If you want to see the app you can download it on the Google Play Store here
With miSalle you can get:
- Student personal information
- Schedule
- Credits
- Grades
You will need an Android device with 5.1 or above
The students of the Universidad De La Salle Bajío don't have a natural way of consume their relevant academic information. With a natural way I want to say "a phone platform native way".
Student
The student can check its information faster, so the interaction with its university will be improved, making him to feel closer to the institution.
Institution
Proceses will be automatized with the general vision of the system, which means cost and time savings. The school employees can spend their time in less repetitive tasks, improving the institution productivity in general.
At launch day, to see the next information:
- Schedule
- Grades
- Credits
- Teachers
the student needs to make the next steps:
- Open web browser
- Go to university website
- Go to students website
- Log in
- Go to information website
- Go to a webpage depending on what information he needs
At launch day there was no competition at all.
Make a mobile solution to serve as intermediary between the student and the institution.
miSalle will be part of processes that involve the student and what its called "college comunity".
If a feature breaks the the relation student-"college comunity" is out of the scope of the project.
- Money to pay the infrastructure
- Human resources
- Time
- There is no market competiton, so the system can reach the 100% of the school population
- This opens the possibility to work with the university
- This can open the oportunity to change the teaching system
Further in time, I can see the system doing the following:
- Credits details
- Show bachelor subjects
- Schedule by week
- The student will be able to track its absences without the need to wait for the system to register them
- The user will be able to create events and projects, so other students can join them
- Some type of network will be made between the business around the school and the students
- A pay option will be available within the app, thus the student doesn't need to go to the bank
- An evaluation system will be implemented to rate your teachers and subjects
- The user will access the app with university credentials
- The system will show a daily schedule, only showing the student classes with its teacher's name
- The system will show the next class in case one exists
- The system will show the student's grades by period
- The system will show the student's social, cultural and sports credits
- The system will show how many days are left before the next payment's due date
- The system will show the student's absences by subject
- The system will show the student's name, enrollment number and bachelor
- The student will upload a picture to its personal information
- The system will get the information using web scrapping
- The client of the system needs to be a mobile application
- The application will exists in Android an iOS platforms, making Android a priority
- The system will give access only to those who have university expended credentials
- The application needs to be capable of displaying the student's information without an internet connection
By taking advantage of a vulnerability, and accesing the information by web scrapping, the institution can detect the traffic spike and just block the IP of the system.
High It is the main source of information.
- The Arquitecture shows how the tiers are distributed. The scrapper being hosted on Heroku, gives the system a dynamic IP. So if this risk happens, it only takes to restart the dyno to get a different IP
- Keeping the information offline in the student's device, while the dyno restart takes place, the users wont notice the event
This risk happened and led to the shutdown of the service. I underestimated the technology department of the institution, and I wasn't prepared enough to overcome the blocking.
Webscrapping is how the system gets the students information, so this means that it is heavily dependent on how the website html is structured due to the lack of css selectors to navigate it.
Medium Every change done to the institution's website, needs to be adjusted in the system.
Low The website is poorly designed, being only a sequence of html tables and by analysing it, heavily attached to how the information is stored in the institution database. Thanks to my expirience as a student at the institution, I observed that burocracy slows down any effort to change something, so a change seems hard to happened.
Also it is known that on the first semester of the year, the institution revise the budget to put it to work on the second half of the year. The system being launched at August 2017, gives us a window of opportunity of almost a year to create a solid user base.
Designing the system following SOLID principles and Separation of Concerns, so when change comes, it can happen without affecting other components.
The project doesn't have have any sponsors to pay for the servers, so for a start the costs will be covered by me (Eduardo). This brings a limitation of funding to hire new developers and scaling the infrastructure.
Medium The initial inversion doesn't represent much of a problem in a short term plan. By the time the server load increases, a solid user base will exists, which brings the opportunity to atract funding.
Medium I don't have the expirience to make a real estimation of how much the system will cost related to its traffic.
- A free private git repository will be used for the development
- An ad centric business model will be utilized
A special mention to Andrea Hernández De Alba, for her initial colaboration in the project, making the UI design, the frontend and part of the development of the Android app.