Giter Site home page Giter Site logo

osoc21 / crowdy Goto Github PK

View Code? Open in Web Editor NEW
2.0 2.0 0.0 2.43 MB

We will build a user-friendly web-app "crowdedness meter" to help students meet safely in Ghent hotspots. Our ultimate goal is to offer students the opportunity to reclaim the ownership of their reputation, by demonstrating that it is possible to have a social life while respecting government measures. For students, by students.

Home Page: https://crowdy-osoc.herokuapp.com/

JavaScript 29.97% HTML 1.55% CSS 11.30% Dockerfile 0.17% TypeScript 57.01% Procfile 0.01%

crowdy's Introduction

Crowdy Logo

CROWDY

We build a user-friendly web-app "crowdedness meter" to help students meet safely in Ghent hotspots. Our ultimate goal is to offer students the opportunity to reclaim the ownership of their reputation, by demonstrating that it is possible to have a social life while respecting government measures. For students, by students.

The Project

GitHub Page

Authors

Features

  • List of hotspots

  • Hotspots info page (amenities, crowdedness, location)

  • Map of hotspots

  • QR code scanner

  • Vote system

  • Account system

  • Profile page

    Color Reference

Color Hex
Indigo #4d4bc0 #4d4bc0
Aquamarine #4dfff0 #4dfff0
Rajah #f8bb84 #f8bb84
Electric Violet #b02aff #b02aff

Screenshots

Crowdy Logo Crowdy Logo Crowdy Logo

Deployment (CLIENT)

To deploy this project run

  npm run build

Environment Variables (CLIENT)

To run this project, you will need to add the following environment variables to your .env.local file

Local env

The base URL of the QR-codes that the scanner will receive (to check if the scanned code is from Crowdy):

REACT_APP_BASE_URL=https://crowdy-osoc.herokuapp.com/

The URL of the backend server:

REACT_APP_SERVER_BACKEND=https://crowdy-server-backend.herokuapp.com/graphql

Your Access Token of the Mapbox-service to display the map:

REACT_APP_MAPBOX_ACCESS_TOKEN={YOUR_ACCESS_TOKEN}

Your Access Token of the Mapbox-style to add a visual look:

REACT_APP_MAPBOX_ACCESS_TOKEN_STYLE={YOUR_ACCESS_TOKEN}

You can acquire access tokens for Mapbox here.

Run Locally (CLIENT)

Clone the project

  git clone https://github.com/osoc21/Crowdy.git

Go to the project directory

  cd client

Install dependencies

  npm install

Start the client

  npm run start

API Reference

GraphQL Link

  POST localhost:4000/graphql

The port depends on the environement the app is using.

Deployment (SERVER)

To deploy this project run

  npm run start:prod

Environment Variables (SERVER)

To run this project, you will need to add the following environment variables to your .env file

Local env

NODE_ENV=development APP_PORT=4000 PORT=4000

Database

TYPEORM_TYPE=postgres TYPEORM_URL=postgres://postgres:[email protected]:5432/database_name TYPEORM_USERNAME=postgres TYPEORM_PASSWORD=password TYPEORM_NAME=database_name TYPEORM_PORT=5432 TYPEORM_HOST=127.0.0.1 TYPEORM_SSL = true TYPEORM_LOGGING=false TYPEORM_SYNCRONIZE=true TYPEORM_AUTO_LOAD_ENTITIES=true TYPEORM_DRIVER_EXTRA={ssl :{rejectUnauthorized: false}}

Json web token

JWT_SECRET=very_secret_string EXPIRES_IN=time(like 1h)

It's better if you create in the root directory .development.env and .production.env and place the environment variables respectively.

Run Locally (SERVER)

Clone the project

  git clone https://github.com/osoc21/Crowdy.git

Go to the project directory

  cd server

Install dependencies

  npm install

Start the server

  npm run start

Tech Stack

Client: React, React Router, React QR Reader, React Map GL

Server: NestJS, Express, GraphQL, TypeORM

crowdy's People

Contributors

ezer-in avatar ezer-i avatar jbelien avatar

Stargazers

Varun More avatar Mohammadreza Amini avatar

Watchers

Michael Vanderpoorten avatar Chris L 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.