Giter VIP home page Giter VIP logo

freepass-2023's Introduction

BCC University

⚠️⚠️⚠️

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

💌 Invitation Letter

In this digital age, transparency and management of information is greatly needed, especially in the field of education. At some point, there is an investor who establishes a university, while the university requires a system for managing information from its students.

This application is intended for university students to be able to access information provided by the university. 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 University in the future. Please consider these features below:

  • A new user can register account to the system ✔
  • A new user can login to the system ✔
  • User can edit their profile account ✔
  • User can view a list of classes ✔
  • User can add class and has maximum of 24 sks. ✔
  • User can drop class ✔
  • User can view participants of the classes they have taken ✔
  • Admin can remove user from class ✔
  • Admin can add user to class ✔
  • Admin can get all class which has a difference course ✔
  • Admin can create new class with specific course ✔
  • Admin can edit the name of the class and the type of course that is owned ✔
  • Admin can delete the class ✔

🌎 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 user's profile

GIVEN => I am a user
WHEN => I took an action to view all class
THEN => System will show all classes

GIVEN => I am a user
WHEN => I took an action to add new class
THEN => System will show a "successfully added new class" notification

GIVEN => I am a user
WHEN => I took an action to drop class
THEN => System will show a "successfully dropped a class" notification

GIVEN => I am a user
WHEN => I took an action to view participants of the classes they have taken
THEN => System will show all participants from the class

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

GIVEN => I am an admin
WHEN => I took an action to add an user to class
THEN => System will show a "successfully added new user" notification

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

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

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

GIVEN => I am an admin
WHEN => I took an action to view all classes
THEN => System will show all classes

👪 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
  10. Docker Compose

🔪 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
  3. PHP
  4. Java

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

🎒 Tasks

The implementation of this project MUST be in the form of a REST, gRPC, or GraphQL API (choose AT LEAST one type).
  1. Fork this repository
  2. Follow the project convention
  3. Finish all service implementations
  4. Write the installation guide of your backend service in the section below

🧪 API Installation

Write how to run your service in local or development environment here. If you use Docker to serve your DBMS or your server, you will receive bonus points for your submission.

🎁 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.

freepass-2023's People

Contributors

izfaruqi avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.