Youdemy is a teching platform that empowers teachers to upload unlimited content divided by courses and lessos so that students across the world can access these resources.
- Youdemy
Name | Github | |
---|---|---|
Emiliano Sloth | [email protected] | emslmar |
Oscar Arranz | [email protected] | OscarArranz |
Jose Manuel De Pablo Cobo | [email protected] | pablocjm |
Our application has 4 different entities
- USER - The applications users. There are different types of users in our application:
- Student
- Teacher
- Aministrator
- COURSE - This entity represents a course that only a teacher has permission to create.
- LESSONS - This entity represents the lessons that are within a course each with their own information and are created at the time of creating and editing a course.
- ORDER - This entity represents the purchasing process of a user and it stores the information of what courses are owned by what users.
Within the user entity there are different types of users;
- GUEST - is the type of user that doesnt sign up for an account and has only access to view the course catalog and the main description of courses.
- STUDENT - is the type of user that signs up for a student account and has the additional option of purchasing courses and accessing the lessons within the course.
- TEACHER - Teachers are the creators within the application. They can create courses and lessons and upload or enter the information. They can also delete and edit the courses they own.
- ADMINISTRATOR - Administrators are able to edit or delete any course or lessons and they also have access to their dashboard where they can see all of the web application information.
Students
- Search Content
- Buy courses
Teachers
- Create courses
- Create different lessons inside the course
- Upload video url
- delete owned courses and lessons
- edit owned courses and lessons
Administrators
- Search Content
- Delete any course
- Edit any course
- Visualize stastistics
Generate a pdf with the order information so that user can download this information
Search algorithm for courses (ajax).
Administrators will be able to check visual information about courses
The application consists of the following screens:
The following diagram shows how users can navigate through the different pages of the application according to their role.
The following diagram shows the different classes in our web application.
The following diagram shows our database infrastructure/schema.
- Restful Error Handling
- User Authentication
- CRF Handling
- User Creation
- HTTPS
- Modify Course Information
- Delete Course and Lessons within Course
- Teacher allowed to Modify their own content
- Order Handling (Create, Delete).
- Checkout step from course page to finish order.
- Order info to PDF file.
- Listing Orders to PDF file.
- Users only can see their own orders.
- Admin dashboard listing entities.
- Update database schema.
- My account page
- Course creation
- Lesson creation
- AJAX course loading
- Course search
Follow these steps to get working:
- Clone the repo
git clone https://github.com/CodeURJC-DAW-2021-22/webapp10
. - Navigate to backend folder
cd ./webapp10/backend
. - Install the project dependencies
mvn clean install
. - Run the project
mvn exec:java -Dexec.mainClass=com.youdemy.YoudemyApplication
.
The following diagram shows the doifferent components and services created for the Angular Frontend of the application.
Emiliano Sloth
Number | Task | Commit |
---|---|---|
1 | Register Functionality | comit1 |
2 | Login Functionality | comit2 |
3 | Header Component | comit3 |
4 | Footer Component | comit4 |
5 | Login Service | comit5 |
Oscar Arranz
Number | Task | Commit |
---|---|---|
1 | Courses Component | comit1 |
2 | Course Service | comit2 |
3 | Pagination | comit3 |
4 | Graph | comit4 |
5 | Images | comit5 |
Jose Manuel De Pablo Cobo
Number | Task | Commit |
---|---|---|
1 | Order Component | comit1 |
2 | OrderP Service | comit2 |
3 | Heroku | comit3 |
4 | Docker | comit4 |
5 | Heroku | comit5 |