Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[12/10/2022]: BACKEND DEVELOPMENT for OSCSA MOOCs platform #5

Open
26 of 34 tasks
RealRichi3 opened this issue Oct 12, 2022 · 141 comments
Open
26 of 34 tasks

[12/10/2022]: BACKEND DEVELOPMENT for OSCSA MOOCs platform #5

RealRichi3 opened this issue Oct 12, 2022 · 141 comments

Comments

@RealRichi3
Copy link
Member

RealRichi3 commented Oct 12, 2022

Description

Open Science Community would like to develop Massive Open Online Courses (MOOCs), which are free online courses available for anyone to enroll in. We have developed our own materials and will also reuse materials from Open Life Sciences and Turing Way. In order to do that, we need to develop a platform where a participant can log in, and view videos and written materials as lessons. This will be similar to Udemy and other platforms for MOOCs.
Your task is to create a backend API of the website using any backend technology.

Technology

  • Node JS
  • Express JS
  • MongoDB
  • Cloudinary

For this we would create a MVC NodeJS application

PROJECT REQUIREMENTS

  • User should be able to signup, verify email address after signup, login, reset password, update profile data
  • User can get all the available courses
  • User should have a history of all the courses they watched
  • User can update profile data, i.e name, password, (excluding email address)
  • Admin can carry out CRUD operations for courses , i.e, Upload or create course, get list of courses/videos, update course/video details and delete course/video.

TASKS

API Description

Main

Models

Middlewares

Utilities

  • Mailer for sending email

FEATURES

Authentication feature

Each course should have multiple videos
Each course should have multiple exercises
Each exercise should have multiple questions

Course/Video feature

Exercises and Questions

CI/CD and Tests

CONTRIBUTING

  • If you want to work on any of these tasks, signify by leaving a comment, then you should create a sub issue for the task.
  • For each sub issue for any task add a reference to this issue (ex: Sub issue for #5)
  • When creating an issue for any of these tasks/features please add a description on the feature you intend to implement
  • This issue is open to collaboration, your thoughts and suggestions are highly welcome. If you think any task is missing please comment below and it will be added
  • All Pull requests relating to any task in this issue should be directed to the dev_team2 branch
  • The dev_team2 branch will be used by both the Frontend contributors and Backend contributors
  • All work for the Backend API should be done inside the /backend_API folder in dev_team2 branch

For pull request relating to any task in this issue the title should include [Date] BACKEND API [feature or bug] your title

Suggestions are highly welcomed

ALL MAJOR ANNOUNCEMENTS WILL BE MADE IN THE PARENT ISSUE #2

@BatoolMM
Copy link
Member

@RealRichi3 Please don't close the issue if the PR is note reviewed and merged!

If you closed other issues, please re-open it!

@BatoolMM BatoolMM reopened this Oct 12, 2022
@RealRichi3
Copy link
Member Author

Alright, i haven't completed the content of the issue that's why, but i understand you perfectly well

@RealRichi3 RealRichi3 mentioned this issue Oct 12, 2022
16 tasks
@anslemkelechi
Copy link
Contributor

Awesome @RealRichi3.
Looking forward to collaborating here.
I would love to work on the authentication for the API, which will include all you listed above.

@Amidsts
Copy link
Contributor

Amidsts commented Oct 13, 2022

#8 I will love to work on this issue

@RealRichi3
Copy link
Member Author

Awesome @RealRichi3. Looking forward to collaborating here. I would love to work on the authentication for the API, which will include all you listed above.

it'll be nice to pick one task so others can contribute

@RealRichi3
Copy link
Member Author

Plus i would have to setup the project structure first, but for now we cant do any thing until @BatoolMM approves our request to create a development branch for the backend

@RealRichi3
Copy link
Member Author

A dev branch has been created for development, i would create a folder backend to add all our code for the backend there

@oEbuka
Copy link
Contributor

oEbuka commented Oct 13, 2022

@RealRichi3 Now the dev branch has been created, what's next?

@anslemkelechi
Copy link
Contributor

Awesome @RealRichi3. Looking forward to collaborating here. I would love to work on the authentication for the API, which will include all you listed above.

it'll be nice to pick one task so others can contribute

That wouldn't be an issue, if you want to contribute to #7, create a sub-issue from it and describe what you would be contributing, please add a reference to the parent issue #2

@anslemkelechi
Copy link
Contributor

A dev branch has been created for development, i would create a folder backend to add all our code for the backend there

Please I believe we would be use MVC @RealRichi3

@RealRichi3
Copy link
Member Author

Yea, i'm almost done with the project setup

@RealRichi3
Copy link
Member Author

@RealRichi3 Now the dev branch has been created, what's next?

I would setup the project structure, once it's merged you all can make pull requests and claim any task

@RealRichi3
Copy link
Member Author

I have set up the project structure, i'm waiting for @BatoolMM to merge into dev branch

@RealRichi3 RealRichi3 changed the title [12/10/2022]: Backend API for OSCSA MOOCs platform [12/10/2022]: BACKEND DEVELOPMENT for OSCSA MOOCs platform Oct 13, 2022
@BatoolMM
Copy link
Member

I commented in your PR, let me know if you need me to do anything else to help you!

@RealRichi3
Copy link
Member Author

Thanks @BatoolMM

@oEbuka
Copy link
Contributor

oEbuka commented Oct 13, 2022

@RealRichi3 I am asking to be sure, your branch has not been merged yet right?

@RealRichi3
Copy link
Member Author

@oEbuka Not yet, i will inform everyone when it's ready for development

@RealRichi3
Copy link
Member Author

@oEbuka @anslemkelechi @ORIYOMI289 you all can start making contributions, the project structure has been added, we would be working with the dev_team2 branch

@anslemkelechi
Copy link
Contributor

@oEbuka @anslemkelechi @ORIYOMI289 you all can start making contributions, the project structure has been added, we would be working with the dev_team2 branch

@RealRichi3
Thanks for the progress

@oEbuka
Copy link
Contributor

oEbuka commented Oct 14, 2022

@oEbuka @anslemkelechi @ORIYOMI289 you all can start making contributions, the project structure has been added, we would be working with the dev_team2 branch

Thanks

@Amidsts
Copy link
Contributor

Amidsts commented Oct 25, 2022

@BatoolMM @RealRichi3 pls, I am trying to record my contribution for this project , pls what will I insert in the "contribution url" ?

@RealRichi3
Copy link
Member Author

@ORIYOMI289 If you your contribution is a pull request add the url to the pull request, same thing if your contribution is an issue

@oEbuka
Copy link
Contributor

oEbuka commented Oct 25, 2022

You mean the model wasn't reflecting? I think you worked on the model, i was referring to the create/upload course controller not the model

I didn't work on the model. I worked on the create/upload course controller. After I did, then pushed to the branch, the MOOCs repo didn't recognize the change so I can't create a pr.

@Amidsts
Copy link
Contributor

Amidsts commented Oct 25, 2022

@RealRichi3 @BatoolMM I also noticed some people were added to the list of contributors. But, I wasn't added

@BatoolMM
Copy link
Member

BatoolMM commented Oct 25, 2022

@ORIYOMI289 Sorry, can you share the PR you have submitted and merged but not added you as a contributor in the README and will add you!

@Amidsts
Copy link
Contributor

Amidsts commented Oct 25, 2022

My PR #62 @BatoolMM

@RealRichi3
Copy link
Member Author

I think we missed the exercises feature, each course should have exercises attached to them. I'll add this to the tasks. Feel free to claim it if you can handle it

@BatoolMM
Copy link
Member

@ORIYOMI289 you are added to the contributors, let us know if we missed any of your names!

@anslemkelechi
Copy link
Contributor

anslemkelechi commented Oct 29, 2022

Hi @RealRichi3,
I would love to work on the API documentation, whilst the contribution stage is rounding up soon, I think it's wise we have some documentation for the current API built & we can improve on it even after the contribution stage is over.
@BatoolMM

@RealRichi3
Copy link
Member Author

RealRichi3 commented Oct 29, 2022

@anslemkelechi Sure, some of the endpoints I added, I haven't tested them, i already created some tests for the authentication, you can use that to get more insight on what should be included in the API documentation.

I already started working on the Postman API documentation but not much work done yet, i can send it to you so you continue from where i stopped.

Please go ahead and create an issue for it.

@RealRichi3
Copy link
Member Author

I'll try to deploy the API on google cloud platform or any free hosting service, we'll be using it for testing

@anslemkelechi
Copy link
Contributor

@anslemkelechi Sure, some of the endpoints I added, I haven't tested them, i already created some tests for the authentication, you can use that to get more insight on what should be included in the API documentation.

I already started working on the Postman API documentation but not much work done yet, i can send it to you so you continue from where I stopped.

Please go ahead and create an issue for it.

@RealRichi3 , issue has been created here : #105

@RealRichi3
Copy link
Member Author

@anslemkelechi thanks, do you need the part of the doc i already made so you can continue from there

@anslemkelechi
Copy link
Contributor

Hi @RealRichi3, sorry for the slight delay in communication, yes I would need the doc.

@RealRichi3
Copy link
Member Author

@anslemkelechi alright, i'll send it

@RealRichi3
Copy link
Member Author

@anslemkelechi i have added the initial API doc i made, it only covers the Authentication routes, you can check /backend_API/src/API doc

@RealRichi3
Copy link
Member Author

@anslemkelechi what's the update on the API documentation

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

6 participants