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
k3heap is a binary min heap implemented with reference

k3heap k3heap is a binary min heap implemented with reference k3heap is a component of pykit3 project: a python3 toolkit set. In this module RefHeap i

pykit3 1 Nov 13, 2021
A website for courses of Major Computer Science, NKU

A website for courses of Major Computer Science, NKU

Sakura 0 Oct 06, 2022
Dev Centric Tools for Mkdocs Based Documentation

docutools MkDocs Documentation Tools For Developers This repo is providing a set of plugins for mkdocs material compatible documentation. It is meant

Axiros GmbH 14 Sep 10, 2022
A system for Python that generates static type annotations by collecting runtime types

MonkeyType MonkeyType collects runtime types of function arguments and return values, and can automatically generate stub files or even add draft type

Instagram 4.1k Jan 07, 2023
๐Ÿ“– Generate markdown API documentation from Google-style Python docstring. The lazy alternative to Sphinx.

lazydocs Generate markdown API documentation for Google-style Python docstring. Getting Started โ€ข Features โ€ข Documentation โ€ข Support โ€ข Contribution โ€ข

Machine Learning Tooling 118 Dec 31, 2022
PowerApps-docstring is a console based, pipeline ready application that automatically generates user and technical documentation for Power Apps.

powerapps-docstring PowerApps-docstring is a console based, pipeline ready application that automatically generates user and technical documentation f

Sebastian Muthwill 30 Nov 23, 2022
xeuledoc - Fetch information about a public Google document.

xeuledoc - Fetch information about a public Google document.

Malfrats Industries 651 Dec 27, 2022
Mayan EDMS is a document management system.

Mayan EDMS is a document management system. Its main purpose is to store, introspect, and categorize files, with a strong emphasis on preserving the contextual and business information of documents.

3 Oct 02, 2021
Type hints support for the Sphinx autodoc extension

sphinx-autodoc-typehints This extension allows you to use Python 3 annotations for documenting acceptable argument types and return value types of fun

Alex Grรถnholm 462 Dec 29, 2022
A document format conversion service based on Pandoc.

reformed Document format conversion service based on Pandoc. Usage The API specification for the Reformed server is as follows: GET /api/v1/formats: L

David Lougheed 3 Jul 18, 2022
Materi workshop "Light up your Python!" Himpunan Mahasiswa Sistem Informasi Fakultas Ilmu Komputer Universitas Singaperbangsa Karawang, 4 September 2021 (Online via Zoom).

Workshop Python UNSIKA 2021 Materi workshop "Light up your Python!" Himpunan Mahasiswa Sistem Informasi Fakultas Ilmu Komputer Universitas Singaperban

Eka Putra 20 Mar 24, 2022
Preview title and other information about links sent to chats.

Link Preview A small plugin for Nicotine+ to display preview information like title and description about links sent in chats. Plugin created with Nic

Nick 0 Sep 05, 2021
Python-slp - Side Ledger Protocol With Python

Side Ledger Protocol Run python-slp node First install Mongo DB and run the mong

Solar 3 Mar 02, 2022
Essential Document Generator

Essential Document Generator Dead Simple Document Generation Whether it's testing database performance or a new web interface, we've all needed a dead

Shane C Mason 59 Nov 11, 2022
Documentation for the lottie file format

Lottie Documentation This repository contains both human-readable and machine-readable documentation about the Lottie format The documentation is avai

LottieFiles 25 Jan 05, 2023
PyPresent - create slide presentations from notes

PyPresent Create slide presentations from notes Add some formatting to text file

1 Jan 06, 2022
Plover jyutping - Plover plugin for Jyutping input

Plover plugin for Jyutping Installation Navigate to the repo directory: cd plove

Samuel Lo 1 Mar 17, 2022
Generate modern Python clients from OpenAPI

openapi-python-client Generate modern Python clients from OpenAPI 3.x documents. This generator does not support OpenAPI 2.x FKA Swagger. If you need

555 Jan 02, 2023
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
Software engineering course project. Secondhand trading system.

PigeonSale Software engineering course project. Secondhand trading system. Documentation API doumenatation: list of APIs Backend documentation: notes

Harry Lee 1 Sep 01, 2022