Code Monkey home page Code Monkey logo

cs-club-official-site's People

Contributors

br0der avatar hydrol0x avatar rdg922 avatar

Stargazers

 avatar  avatar  avatar

cs-club-official-site's Issues

Signin Page

Just make it look prettier and consistent with the Register page

Github Workflow

I have workflows setup but now its just the API keys in the env that I need to set up the secrets for.

GET Problem Status Request

Must

  • Return submission data with all test cases if test case is finished
  • Return that the competition is still in progress if it is
  • Return error if the user still hasn't submitted a problem yet

First box got finished with this commit

Site Homepage

Currently, the homepage exists and is routed correctly; however, the info on it isn't complete and the content isn't formatted properly. There is no margin between the content and the header. We can add more important info to the homepage but for now it should just be for the competition in December.

Competition Card Component

Takes in just the competition data from the firebase realtime database and displays some information. This component is used in the #11. MVP stuff #2

About Page

Routed to, but currently there is no info at all.

Some things it can include (but not limited to):

  • What our CS Club hopes to do
  • Rules for Competitions
  • Resources the club uses

Register Page

Just make it prettier than it is right now and consistent with the Signin page #13

Submit Problem Submission Request

  • Must take in a competitionId, ProblemId, user language id according to judge0 api, and the user id from firebase (hopefully auth will take that in later in req.user but for now just take it as a parameter).

  • Use an online judge0 container. We may need Judge0 to be hosted on firebase laster as the current free plan for judge0 does not cover enough submissions, but for now just make a free judge0 container on their site and worst case we can upgrade our plan for the competition.

  • It should write to the database that the user's submission is currently handled and then update it when finished.

Backend MVP Issues

Make issues for each of these to have discussions under (and make sure to tag this issue).

Firebase Auth:

  • Create Admin Accounts for Mr. Donato to add problems
  • Prevent Admins other than Mr. Donato from looking at problems

Firebase Functions:

  • Require Authorization Header
  • Submit Problem Submission Request
  • Get Submission Problem Status Request

Firebase Real-time Database:

  • Organize Competitions, Problems, Test cases, Submissions
  • Pending Submissions

Backend API Request Documentation

I'll get a write up later for everyone to understand all the back-end required for the front-end done in a little while. For my only priority right now is the HTTPS requests and Database querying require to make the front end work properly

Settings Page

Not a whole lot to implement yet, just have a sign out button and reset password option, but we can forgo the reset password option for right now maybe. Front-end MVP issue mentioned #2

Problem Card Component

The problem card component is rendered on the competition homepage alongside all the other problem cards. Only has to look pretty and have text on it. I already added the linking. After the first pass we can make it so these cards will read the database for whether the user has completed the problem, but don't worry about that now.

Competition List Page

Relies heavily on the Competition Card Component. Possible sites to reference are Hackerrank's Competition List and the Google Kickstart site.

There doesn't need to be much more information than the cards for now to close this issue. It just needs to look presentable with more than 1 card.

Mentioned in #2

Competition Homepage

Should list all the problems and display information on the page, such as the start date, end date, etc. For dates, assume the values in the database are in UTC time.

This issue also includes information on what the Competition object in the back-end should have. Understand that we should have this object contain only information on this homepage and the card, Everything else such as submission and problems can be moved to the submissions/ and problems/ ref. Once the page is finished and the sample database is good, we can close this.

Judge0 API

Possible options:

  • Host on Firebase
  • Using free or paid container on Judge0 website

I still haven't made a decision, will do that soon. RIght now leaning on on using the free plan and upgrading later to a paid or hosting on Firebase.

Frontend MVP Issues

Make Issues for each bullet that explains further what's expected of it (and tag this one with a # ).

  • Site Homepage
  • About Page
  • Settings Page
  • Competition List Page
  • Competition Card Component
  • Competition Homepage
  • Problem List Page
  • Problem Card Component
  • Problem Page
  • Problem Submission Page
  • Code Editor Component
  • Sign in Page
  • Sign out Page
  • Register Page
  • Forgot Password Page
  • Reset Password Page
  • Admin Dashboard Pages

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.