30 Days of google cloud leaderboard website

Overview

cloud

30 Days of Cloud Leaderboard

This is a leaderboard for the students of Thapar, Patiala who are participating in the 2021 30 days of Google Cloud Platform Challenge

Overview

Here is the website : https://30daysofgcp.dsctiet.tech/

The project consists of a single page site and an app having a leaderboard table with search functionality to easily find a particular participant by name, and a couple of graphs showing the general point trends. The graphs have been made using react-chartjs-2 npm package in the web version and syncfusion_flutter_charts in the app. The leaderboard encourages the participants to proceed with their challenge by giving the top scorer(s) a crown against their ranks. This has been done to promote healthy competition among the participants and appreciate the enthusiasm of those who finished the challenge before time!


We follow a systematic Git Workflow -

  • Create a fork of this repo.
  • Clone your fork of your repo on your pc.
  • Add Upstream to your clone
  • Every change that you do, it has to be on a branch. Commits on master would directly be closed.
  • Make sure that before you create a new branch for new changes,syncing with upstream is neccesary.

Setup and running of project (Backend) ๐Ÿงฎ

  • Fork the repo and clone it.
  • Go in the repo and go into the api folder
  • Edit the docker-compose.yml file
    • For the SECRET_KEY run openssl rand -hex 32 in your terminal and put the output in the variable
    • For EMAIL_USER and EMAIL_PASS put in the credentials of your gmail email id.
    • Forward the relevant port for the API server
  • For https server put the origin.pem and key.pem certificates in the api folder
  • To run the server run: docker-compose up --build
  • Server will now run at: https:// :
  • To run via http:
    • Comment the ssl_context line in the api/api/app.py
    • In api/api/run.sh comment line 3 and uncomment line 4 and make the necessary changes to the port

Setup and running of project (Frontend) ๐Ÿ”ฎ

  • Make sure you have nodejs installed on your machine.
  • Move into the client directory by doing cd client in the root directory of this repository
  • After getting into the client directory, run npm install to install all the dependencies
  • Start react server with npm start

Runs the app on your localhost.
Open http://localhost:3000 to view it in the browser.

Setup and running of project (App) ๐Ÿ“ฑ

  • Make sure you have Flutter installed on your machine
  • Move into the gcloud_leaderboard by doing cd app/gcloud_leaderboard in the root directory of this repository
  • After getting into the gcloud_leaderboard directory, run flutter pub get to install all the dependencies
  • Run the app on an emulator

Built With โš’

Backend ๐Ÿ“ก

  • Flask - Does the magic of making REST API endpoints
  • SQLAlchemy - Storing the scores and user data in a database
  • Docker - Running the server in a containerised way

Web Application ๐Ÿ–ฅ

  • React - Do you Even Need an introduction to this ? ๐Ÿ˜‚
    • react-chartjs-2 - Simple yet flexible JavaScript charting for designers & developers

Mobile Application ๐Ÿ“ฒ

  • Flutter- Better to write one codebase instead of two ๐Ÿ˜‰
    • syncfusion_flutter_charts - for creating graphs
    • provider - for state management
    • http - for working with REST APIs

Authors โœ๐Ÿป

  • Raghav Sharma - Backend Flask, API and Deployment - raghavTinker
  • Yashvardhan Arora - UI and React Web Application - yash22arora
  • Sidharth Bahl - Flutter Mobile Application - sidB67
Owner
Developer Student Clubs TIET
We believe in the power of Open Source!
Developer Student Clubs TIET
A fast time mocking alternative to freezegun that wraps libfaketime.

python-libfaketime: fast date/time mocking python-libfaketime is a wrapper of libfaketime for python. Some brief details: Linux and OS X, Pythons 3.5

Simon Weber 68 Jun 10, 2022
Sane and flexible OpenAPI 3 schema generation for Django REST framework.

drf-spectacular Sane and flexible OpenAPI 3.0 schema generation for Django REST framework. This project has 3 goals: Extract as much schema informatio

T. Franzel 1.4k Jan 08, 2023
Autolookup GUI Plugin for Plover

Word Tray for Plover Word Tray is a GUI plugin that automatically looks up efficient outlines for words that start with the current input, much like a

Kathy 3 Jun 08, 2022
A Python module for creating Excel XLSX files.

XlsxWriter XlsxWriter is a Python module for writing files in the Excel 2007+ XLSX file format. XlsxWriter can be used to write text, numbers, formula

John McNamara 3.1k Dec 29, 2022
Swagger Documentation Generator for Django REST Framework: deprecated

Django REST Swagger: deprecated (2019-06-04) This project is no longer being maintained. Please consider drf-yasg as an alternative/successor. I haven

Marc Gibbons 2.6k Jan 03, 2023
๐Ÿฑโ€๐Ÿ A curated list of awesome things related to Hugo themes.

awesome-hugo-themes Automated deployment @ 2021-10-12 06:24:07 Asia/Shanghai &sorted=updated Theme Author License GitHub Stars Updated Blonde wamo MIT

13 Dec 12, 2022
A website for courses of Major Computer Science, NKU

A website for courses of Major Computer Science, NKU

Sakura 0 Oct 06, 2022
Cleaner script to normalize knock's output EPUBs

clean-epub The excellent knock application by Benton Edmondson outputs EPUBs that seem to be DRM-free. However, if you run the application twice on th

2 Dec 16, 2022
Coursera learning course Python the basics. Programming exercises and tasks

HSE_Python_the_basics Welcome to BAsics programming Python! Youโ€™re joining thousands of learners currently enrolled in the course. I'm excited to have

PavelRyzhkov 0 Jan 05, 2022
Portfolio project for Code Institute Full Stack software development course.

Comic Sales tracker This project is the third milestone project for the Code Institute Diploma in Full Stack Software Development. You can see the fin

1 Jan 10, 2022
Spin-off Notice: the modules and functions used by our research notebooks have been refactored into another repository

Fecon235 - Notebooks for financial economics. Keywords: Jupyter notebook pandas Federal Reserve FRED Ferbus GDP CPI PCE inflation unemployment wage income debt Case-Shiller housing asset portfolio eq

Adriano 825 Dec 27, 2022
Quickly download, clean up, and install public datasets into a database management system

Finding data is one thing. Getting it ready for analysis is another. Acquiring, cleaning, standardizing and importing publicly available data is time

Weecology 274 Jan 04, 2023
Soccerdata - Efficiently scrape soccer data from various sources

SoccerData is a collection of wrappers over soccer data from Club Elo, ESPN, FBr

Pieter Robberechts 195 Jan 04, 2023
Always know what to expect from your data.

Great Expectations Always know what to expect from your data. Introduction Great Expectations helps data teams eliminate pipeline debt, through data t

Great Expectations 7.8k Jan 05, 2023
A curated list of awesome mathematics resources

A curated list of awesome mathematics resources

Cyrille Rossant 6.7k Jan 05, 2023
Official Matplotlib cheat sheets

Official Matplotlib cheat sheets

Matplotlib Developers 6.7k Jan 09, 2023
Python script to generate Vale linting rules from word usage guidance in the Red Hat Supplementary Style Guide

ssg-vale-rules-gen Python script to generate Vale linting rules from word usage guidance in the Red Hat Supplementary Style Guide. These rules are use

Vale at Red Hat 1 Jan 13, 2022
Crystal Smp plugin for show scoreboards

MCDR-CrystalScoreboards Crystal plugin for show scoreboards | Only 1.12 Usage !!s : Plugin help message !!s hide : Hide scoreboard !!s show : Show Sco

CristhianCd 3 Oct 12, 2021
My Sublime Text theme

rsms sublime text theme Install: cd path/to/your/sublime/packages git clone https://github.com/rsms/sublime-theme.git rsms-theme You'll also need the

Rasmus 166 Jan 04, 2023
Sphinx-performance - CLI tool to measure the build time of different, free configurable Sphinx-Projects

CLI tool to measure the build time of different, free configurable Sphinx-Projec

useblocks 11 Nov 25, 2022