kobulwidodo / bcc-masterclass

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

BCC Masterclass

⚠️⚠️⚠️

Submissions from 2021 students will have much higher priority than submissions from 2020, SAP, or higher students.
Please take note of this before planning to attempt this freepass challenge.

💌 Invitation Letter

During this pandemic, it is very difficult for students to find learning materials. but at the same time, students also need additional money to survive during the pandemic. BCC requires a developer to create an online class application system.

This application is intended so that FILKOM students can learn and teach. To accomplish this quickly, BCC will need help. By this letter, we humbly invite you to join us on this journey to figure out the best solution. We cannot wait to see your ideas to overcome this problem.

⭐ Minimum Viable Product (MVP)

As we have mentioned earlier, we need technology that can support BCC Masterclass in the future. Please consider these features below:

  • A new user can register account to the system
  • User can edit their account
  • User can see their account
  • User can buy a course
  • User can view the courses taken
  • Admin can delete a user
  • Admin can delete an instructor
  • Admin can delete a course
  • A new instructor can register account to the system
  • Instructor can create new course
  • Instructor can edit their course
  • Instructor can delete their course

🌎 Service Implementation

GIVEN => I am a new user
WHEN => I register to the system
THEN => System will record and return the visitor's username

GIVEN => I am a user
WHEN => I took an action to edit my account
THEN => System will show a "successfully edited" notification

GIVEN => I am a user
WHEN => I took an action to see my account
THEN => System will show the visitor's profile

GIVEN => I am a user
WHEN => I took an action to buy a course
THEN => System will show a "successfully purchased the course" notification

GIVEN => I am a user
WHEN => I took an action to see my courses
THEN => System will show the courses detail

GIVEN => I am an admin
WHEN => I took an action to delete a user
THEN => System will show a "successfully deleted" notification

GIVEN => I am an admin
WHEN => I took an action to delete an instructor
THEN => System will show a "successfully deleted" notification

GIVEN => I am an admin
WHEN => I took an action to delete a course
THEN => System will show a "successfully deleted" notification

GIVEN => I am a new user
WHEN => I register to the system as an instructor
THEN => System will record and return the instructor's username

GIVEN => I am an instructor
WHEN => I took an action to create a course
THEN => System will record and return the course identity number

GIVEN => I am an instructor
WHEN => I took an action to edit a course
THEN => System will show a "successfully edited" notification

GIVEN => I am an instructor
WHEN => I took an action to delete a course
THEN => System will show a "successfully deleted" notification

👪 Entities and Actors

We want to see your perspective about these problems. You can define various types of entities or actors. One thing for sure, there is no true or false statement to define the entities. As long as the results are understandable, then go for it! 🚀

📘 References

You might be overwhelmed by these requirements. Don't worry, here's a list of some tools that you could use (it's not required to use all of them nor any of them):

  1. Example Project
  2. Git
  3. Cheatsheets
  4. REST API
  5. Insomnia REST Client
  6. Test-Driven Development
  7. Clean Architecture
  8. GraphQL
  9. gRPC

🔪 Accepted Weapons

BEFORE CHOOSING YOUR LANGUAGE, PLEASE VISIT OUR CONVENTION ON THIS PROJECT

Any code that did not follow the convention will be rejected!

  1. Golang (preferred)
  2. NodeJS

You are welcome to use any libraries or frameworks, but we appreciate if you use the popular ones.

🎒 Tasks

  1. Fork this repository
  2. Follow the project convention
  3. Finish all service implementations

🎁 Submission

Please follow the instructions on the Contributing guide.

cheers

This is not the only way to join us.

But, this is the one and only way to instantly pass.

About