We need a software for teachers and schools that serves as an online agenda. A small school or teacher should be able to to register on the website and create a field, levels, parallels and academic periods. In each parallel the teacher or school should be able to register students and their tutors(parents, grandparents, etc.).
The teacher or school should be able to send homework, quizes and other notifications to a given parallel.
Students and tutors should be able to view these notifications on the web app or in a mobile app. Only notifications on current academic periods should be viewable.
Students and tutors users are created by the teacher or school, by the email of each student and tutor.
More than one tutor should be able to register per student.
To complete the registration students and tutors are sent a confirmation email which they have to accept to become active users. Schools and teachers also have to validate their accounts via email confirmation on the first registration.
A temporary password is created and they should be able to change their password on the first login.
We need a native mobile app in both Android and iPhone(no apache cordova or appcelerator). In this mobile app the students and tutors should be able to view:
Every notification, quiz and homework should have a "comments" section where every authorized user is able to leave comments.
Every user should be able to open a discussion and include the desired members of the discussion. Each user have the option to leave a discussion whenever they like. Every user member of the discussion should be able to add new members to the discussion.
- We would like to build a RESTful API that can communicate with the mobile apps and the web app.
- The web app should be constructed using gulp and AngularJS.
- The backend API should be built using python, django and
- The mobile apps should be native apps (no apache cordova or appcelerator).
- Development should use git and have a branch and versioning approach.
- There is a development branch, for development, which is merged to the
master branch (production).
- Each new future should reside in a separate branch, and must be submitted as
a pull request for code review from us. (NO DIRECT COMMITS TO DEVELOPMENT).
NOTE: Please consider there might be other details not included in this document, and that probably will prompt among the development of this whole system.