Submissions from 2024 students will have much higher priority than submissions from 2023, SAP, or higher students.
Please take note of this before planning to attempt this freepass challenge.
Embracing the ever-evolving conference management landscape, we recognize the need for a seamless and engaging experience in academic meetings especially in the organizational space. We are embarking on an innovative project to transform the way conferences are hosted and experienced, and we want you to be a part of this journey!
We aim to create a dynamic conference platform that revolutionizes session management, attendee engagement, and administrative oversight. Your contributions will help shape the future of conference management. Together, we can create a platform that enhances knowledge sharing and professional networking while maintaining the highest standards of academic discourse.
Join us in revolutionizing the conference experience. Your insights and expertise are key to making this transformation happen!
As we have mentioned earlier, we need technology that can support BCC Conference in the future. Please consider these features below:
- New user can register account to the system ✔️
- User can login to the system ✔️
- User can edit their profile account ✔️
- User can view all conference sessions ✔️
- User can leave feedback on sessions ✔️
- User can view other user's profile ✔️
- Users can register for sessions during the conference registration period if seats are available ✔️
- Users can only register for one session within a time period ✔️
- Users can create, edit, delete their session proposals ✔️
- Users can only create one session proposal within a time period ✔️
- Users can edit, delete their session ✔️
- Event Coordinator can view all session proposals ✔️
- Event Coordinator can accept or reject user session proposals ✔️
- Event Coordinator can remove sessions ✔️
- Event Coordinator can remove user feedback ✔️
- Admin can add new event coordinators ✔️
- Admin can remove users/event coordinators ✔️
GIVEN => I am a new user
WHEN => I register to the system
THEN => System will record and return the user's registration details
GIVEN => I am a user
WHEN => I log in to the system
THEN => System will authenticate and grant access based on user credentials
GIVEN => I am a user
WHEN => I edit my profile account
THEN => The system will update my account with the new information
GIVEN => I am a user
WHEN => I view all available conference's sessions
THEN => System will display all conference sessions with their details
GIVEN => I am a user
WHEN => I leave feedback on a session
THEN => System will record my feedback and display it under the session
GIVEN => I am a user
WHEN => I view other user's profiles
THEN => System will show the information of other user's profiles
GIVEN => I am a user
WHEN => I register for conference's sessions
THEN => System will confirm my registration for the selected session
GIVEN => I am a user
WHEN => I create a new session proposal
THEN => System will record and confirm the session creation
GIVEN => I am a user
WHEN => I see my session's proposal details
THEN => System will display my session's proposal details
GIVEN => I am a user
WHEN => I update my session's proposal details
THEN => System will apply the changes and confirm the update
GIVEN => I am a user
WHEN => I delete my session's proposal
THEN => System will remove the session's proposal
GIVEN => I am a user
WHEN => I see my session details
THEN => System will display my session details
GIVEN => I am a user
WHEN => I update my session details
THEN => System will apply the changes and confirm the update
GIVEN => I am a user
WHEN => I delete my session
THEN => System will remove the session
GIVEN => I am an event coordinator
WHEN => I view session proposals
THEN => System will display all submitted session proposals
GIVEN => I am an event coordinator
WHEN => I accept or reject the session proposal
THEN => The system will make the session either be available or unavailable
GIVEN => I am an event coordinator
WHEN => I remove a session
THEN => System will delete the session
GIVEN => I am an event coordinator
WHEN => I remove user feedback
THEN => System will delete the feedback from the session
GIVEN => I am an admin
WHEN => I add new event coordinator
THEN => System will make the account to the system
GIVEN => I am an admin
WHEN => I remove a user or event coordinator
THEN => System will delete the account from the system
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! 🚀
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):
- Example Project
- Git
- Cheatsheets
- REST API
- Insomnia REST Client
- Test-Driven Development
- Clean Architecture
- GraphQL
- gRPC
- Docker Compose
BEFORE CHOOSING YOUR LANGUAGE, PLEASE VISIT OUR CONVENTION ON THIS PROJECT
Any code that did not follow the convention will be rejected!
- Golang (preferred)
- Java
- NodeJS
- PHP
You are welcome to use any libraries or frameworks, but we appreciate if you use the popular ones.
The implementation of this project MUST be in the form of a REST, gRPC, or GraphQL API (choose AT LEAST one type).
- Fork this repository
- Follow the project convention
- Finish all service implementations
- Write the installation guide of your back-end service in the section below
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.
Have any questions? You can contact either Tyo or Ilham.
Please follow the instructions on the Contributing guide.
This is not the only way to join us.
But, this is the one and only way to instantly pass.