{"id":21285185,"url":"https://github.com/alissonwenceslau/dslearn","last_synced_at":"2026-04-25T18:33:01.298Z","repository":{"id":194902839,"uuid":"667979269","full_name":"AlissonWenceslau/dslearn","owner":"AlissonWenceslau","description":"Um projeto de uma plataforma de ensino online","archived":false,"fork":false,"pushed_at":"2023-08-12T12:56:04.000Z","size":272,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-01-03T10:30:29.420Z","etag":null,"topics":["h2-database","layered-architecture","oauth2","oauth2-client","oauth2-server","spring-boot","spring-data-jpa","spring-validation","spring-w"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AlissonWenceslau.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2023-07-18T18:27:52.000Z","updated_at":"2023-09-15T16:32:29.000Z","dependencies_parsed_at":"2023-09-15T18:00:16.442Z","dependency_job_id":null,"html_url":"https://github.com/AlissonWenceslau/dslearn","commit_stats":null,"previous_names":["alissonwenceslau/dslearn"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/AlissonWenceslau/dslearn","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlissonWenceslau%2Fdslearn","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlissonWenceslau%2Fdslearn/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlissonWenceslau%2Fdslearn/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlissonWenceslau%2Fdslearn/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AlissonWenceslau","download_url":"https://codeload.github.com/AlissonWenceslau/dslearn/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlissonWenceslau%2Fdslearn/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32273214,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-25T18:29:39.964Z","status":"ssl_error","status_checked_at":"2026-04-25T18:29:32.149Z","response_time":59,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["h2-database","layered-architecture","oauth2","oauth2-client","oauth2-server","spring-boot","spring-data-jpa","spring-validation","spring-w"],"created_at":"2024-11-21T11:18:38.944Z","updated_at":"2026-04-25T18:33:01.279Z","avatar_url":"https://github.com/AlissonWenceslau.png","language":"Java","readme":"\n# DSLearn\nÉ um projeto backend de uma plataforma de ensino online em que um usuário pode ter várias ofertas e nela possuem várias seções e em cada seção tem várias aulas entre outras particularidades. O projeto respeita o diagrama, bem como as melhores práticas de programação!\n\n## Técnologias e Arquitetura\n- [x] Padrão Camadas\n- [x] Spring Web\n- [x] Spring JPA\n- [x] Spring Validation\n- [x] Spring Security\n- [x] Spring OAuth2\n- [x] H2 database\n\n## Diagrama de classes\n![Diagrama](./assets/diagrama_classes.png)\n\n## SQL do banco de dados\n```SQL\n\nINSERT INTO tb_user (name, email, password) VALUES ('Alex Brown', 'alex@gmail.com', '$2a$10$eACCYoNOHEqXve8aIWT8Nu3PkMXWBaOxJ9aORUYzfMQCbVBIhZ8tG');\nINSERT INTO tb_user (name, email, password) VALUES ('Bob Brown', 'bob@gmail.com', '$2a$10$eACCYoNOHEqXve8aIWT8Nu3PkMXWBaOxJ9aORUYzfMQCbVBIhZ8tG');\nINSERT INTO tb_user (name, email, password) VALUES ('Maria Green', 'maria@gmail.com', '$2a$10$eACCYoNOHEqXve8aIWT8Nu3PkMXWBaOxJ9aORUYzfMQCbVBIhZ8tG');\n\nINSERT INTO tb_role (authority) VALUES ('ROLE_STUDENT');\nINSERT INTO tb_role (authority) VALUES ('ROLE_INSTRUCTOR');\nINSERT INTO tb_role (authority) VALUES ('ROLE_ADMIN');\n\nINSERT INTO tb_user_role (user_id, role_id) VALUES (1, 1);\nINSERT INTO tb_user_role (user_id, role_id) VALUES (2, 1);\nINSERT INTO tb_user_role (user_id, role_id) VALUES (2, 2);\nINSERT INTO tb_user_role (user_id, role_id) VALUES (3, 1);\nINSERT INTO tb_user_role (user_id, role_id) VALUES (3, 2);\nINSERT INTO tb_user_role (user_id, role_id) VALUES (3, 3);\n\nINSERT INTO tb_course (name, img_Uri, img_Gray_Uri) VALUES ('Bootcamp HTML','https://prod-discovery.edx-cdn.org/media/course/image/0e575a39-da1e-4e33-bb3b-e96cc6ffc58e-8372a9a276c1.png','https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcSLQuG76xraG0OUdezZoMgZS7W61DhAzxHJLCqETv2WMs6NUlMJ8iNjYf-dhT_H0hyklls\u0026usqp=CAU');\n\nINSERT INTO tb_offer (edition, start_Moment, end_Moment, course_id) VALUES ('1.0', TIMESTAMP WITH TIME ZONE '2020-11-15T03:00:00Z', '2021-11-15T03:00:00Z', 1);\nINSERT INTO tb_offer (edition, start_Moment, end_Moment, course_id) VALUES ('2.0', TIMESTAMP WITH TIME ZONE '2020-12-15T03:00:00Z', '2021-12-15T03:00:00Z', 1);\n\nINSERT INTO tb_resource (title, description, position, img_Uri, type, offer_id) VALUES ('Trila HTML','Trilha principal do curso',1,'https://prod-discovery.edx-cdn.org/media/course/image/0e575a39-da1e-4e33-bb3b-e96cc6ffc58e-8372a9a276c1.png',1,1);\nINSERT INTO tb_resource (title, description, position, img_Uri, type, offer_id) VALUES ('Forum','Tire suas dúvidas',2,'https://prod-discovery.edx-cdn.org/media/course/image/0e575a39-da1e-4e33-bb3b-e96cc6ffc58e-8372a9a276c1.png',2,1);\nINSERT INTO tb_resource (title, description, position, img_Uri, type, offer_id) VALUES ('Lives Técnicas','Lives exclusivas para a turma',3,'https://prod-discovery.edx-cdn.org/media/course/image/0e575a39-da1e-4e33-bb3b-e96cc6ffc58e-8372a9a276c1.png',0,1);\n\nINSERT INTO tb_section (title, description, position, img_Uri, resource_id, prerequisite_id) VALUES ('Capítulo 1','Começando a implementar o projeto',1,'https://prod-discovery.edx-cdn.org/media/course/image/0e575a39-da1e-4e33-bb3b-e96cc6ffc58e-8372a9a276c1.png',1,null);\nINSERT INTO tb_section (title, description, position, img_Uri, resource_id, prerequisite_id) VALUES ('Capítulo 2','Continuando o implementar o projeto',2,'https://prod-discovery.edx-cdn.org/media/course/image/0e575a39-da1e-4e33-bb3b-e96cc6ffc58e-8372a9a276c1.png',1,1);\nINSERT INTO tb_section (title, description, position, img_Uri, resource_id, prerequisite_id) VALUES ('Capítulo 3','Finalizando o implementar o projeto',3,'https://prod-discovery.edx-cdn.org/media/course/image/0e575a39-da1e-4e33-bb3b-e96cc6ffc58e-8372a9a276c1.png',1,2);\n\nINSERT INTO tb_enrollment (user_id, offer_id, enroll_Moment, refund_Moment, available, only_Update) VALUES (1,1,TIMESTAMP WITH TIME ZONE '2020-11-15T13:00:00Z',null,true,false);\nINSERT INTO tb_enrollment (user_id, offer_id, enroll_Moment, refund_Moment, available, only_Update) VALUES (2,1,TIMESTAMP WITH TIME ZONE '2020-11-15T13:00:00Z',null,true,false);\n\nINSERT INTO tb_lesson (id, title, position,section_id) VALUES (1,'Aula 1 do capítulo 1',1,1);\nINSERT INTO tb_content (id, text_Content, video_Uri) VALUES (1, 'Material de apoio capítulo 1','https://www.youtube.com/watch?v=1G37JFHloWM\u0026t=');\n\nINSERT INTO tb_lesson (id, title, position,section_id) VALUES (2,'Aula 2 do capítulo 1',2,1);\nINSERT INTO tb_content (id, text_Content, video_Uri) VALUES (2, '','https://www.youtube.com/watch?v=1G37JFHloWM\u0026t=');\n\nINSERT INTO tb_lesson (id, title, position,section_id) VALUES (3,'Aula 3 do capítulo 1',3,1);\nINSERT INTO tb_content (id, text_Content, video_Uri) VALUES (3, '','https://www.youtube.com/watch?v=1G37JFHloWM\u0026t=');\n\nINSERT INTO tb_lesson (id, title, position,section_id) VALUES (4,'Tarefa do capítulo 1',4,1);\nINSERT INTO tb_task (id, description, question_Count, approval_Count, weight, due_Date) VALUES (4,'Fazer um trabalho legal',5,4,1.0,TIMESTAMP WITH TIME ZONE '2020-12-20T03:00:00Z');\n\nINSERT INTO tb_lessons_done (lesson_id, user_id, offer_id) VALUES (1,1,1);\nINSERT INTO tb_lessons_done (lesson_id, user_id, offer_id) VALUES (2,1,1);\n\nINSERT INTO tb_notification (text, moment, read, route, user_id) VALUES ('Primeiro feedback de tarefa: favor revisar', TIMESTAMP WITH TIME ZONE '2020-12-10T13:00:00Z', true, '/offers/1/resource/1/sections/1', 1);\nINSERT INTO tb_notification (text, moment, read, route, user_id) VALUES ('Segundo feedback: favor revisar', TIMESTAMP WITH TIME ZONE '2020-12-12T13:00:00Z', true, '/offers/1/resource/1/sections/1', 1);\nINSERT INTO tb_notification (text, moment, read, route, user_id) VALUES ('Terceiro feedback: favor revisar', TIMESTAMP WITH TIME ZONE '2020-12-14T13:00:00Z', true, '/offers/1/resource/1/sections/1', 1);\n\nINSERT INTO tb_deliver (uri, moment, status, feedback, correct_Count, lesson_id, user_id, offer_id) VALUES ('https://github.com/devsuperior/bds-dslearn', TIMESTAMP WITH TIME ZONE '2020-12-10T10:00:00Z', 0, null, null, 4, 1, 1);\n\n\nINSERT INTO tb_topic (title, body, moment, author_id, offer_id, lesson_id) VALUES ('Título do tópico 1', 'Corpo do tópico 1', TIMESTAMP WITH TIME ZONE '2020-12-12T13:00:00Z', 1, 1, 1);\nINSERT INTO tb_topic (title, body, moment, author_id, offer_id, lesson_id) VALUES ('Título do tópico 2', 'Corpo do tópico 2', TIMESTAMP WITH TIME ZONE '2020-12-13T13:00:00Z', 2, 1, 1);\nINSERT INTO tb_topic (title, body, moment, author_id, offer_id, lesson_id) VALUES ('Título do tópico 3', 'Corpo do tópico 3', TIMESTAMP WITH TIME ZONE '2020-12-14T13:00:00Z', 2, 1, 1);\nINSERT INTO tb_topic (title, body, moment, author_id, offer_id, lesson_id) VALUES ('Título do tópico 4', 'Corpo do tópico 4', TIMESTAMP WITH TIME ZONE '2020-12-15T13:00:00Z', 1, 1, 2);\nINSERT INTO tb_topic (title, body, moment, author_id, offer_id, lesson_id) VALUES ('Título do tópico 5', 'Corpo do tópico 5', TIMESTAMP WITH TIME ZONE '2020-12-16T13:00:00Z', 1, 1, 2);\nINSERT INTO tb_topic (title, body, moment, author_id, offer_id, lesson_id) VALUES ('Título do tópico 6', 'Corpo do tópico 6', TIMESTAMP WITH TIME ZONE '2020-12-17T13:00:00Z', 2, 1, 3);\n\nINSERT INTO tb_topic_likes (topic_id, user_id) VALUES (1, 2);\nINSERT INTO tb_topic_likes (topic_id, user_id) VALUES (2, 1);\n\nINSERT INTO tb_reply (body, moment, topic_id, author_id) VALUES ('Tente reiniciar o computador', TIMESTAMP WITH TIME ZONE '2020-12-15T13:00:00Z', 1, 2);\nINSERT INTO tb_reply (body, moment, topic_id, author_id) VALUES ('Deu certo, valeu!', TIMESTAMP WITH TIME ZONE '2020-12-20T13:00:00Z', 1, 1);\n\nINSERT INTO tb_reply_likes (reply_id, user_id) VALUES (1, 1);\n```\n\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falissonwenceslau%2Fdslearn","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falissonwenceslau%2Fdslearn","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falissonwenceslau%2Fdslearn/lists"}