Giter Site home page Giter Site logo

s4nd1x / algorithmicclubgdafullstack Goto Github PK

View Code? Open in Web Editor NEW
0.0 2.0 0.0 677 KB

Club de Algoritmia GDA is an organization that I founded with other friends in order to help students get an Internships, build portafolios and help them to become proactive.

Home Page: https://www.algoritmia-gda.club/

JavaScript 87.45% HTML 11.18% CSS 1.37%
node js express axios react hooks api mongodb heroku netlify fullstack backend frontend

algorithmicclubgdafullstack's Introduction

Club Algoritmia GDA Fullstack Project - Fullstack

enter image description here

This repository contains the Fullstack Web Page of the official GDA Algorithmic Club organization.

Technologies

Backend

  • NodeJS
  • Express
  • MongoDB
  • Mongoose
  • Cors Middleware
  • Heroku
  • Nodemon (debugging)

Frontend

  • ReactJS
  • Axios
  • Hooks (useContext, useEffect, useState)
  • Styled components (GlobalStyle and Styled)
  • JS
  • HTML
  • CSS

Extras

  • Mongo Atlas
  • Mongo Compass
  • Postman
  • Netlify
  • VSC

Usage

First, let's set up our Backend

Git clone this repo to your computer

Inside backend folder run:

npm run dev

To start local server(nodemon), this will start the connection to MongoDB. Api will start by default on port 4000.

This project contains environment variables so inside you folder create a new file named:

variables.env

Inside this file, create a new variable for your Mongo Connection String and this will be imported into:

index.js

If you follow all the instructions your backend should be all setup.

Now let's gor for our Frontend

Inside client folder run:

npm start

To start local development server and Api will start by default on port 4000.

This project contains environment variables for deployment and local development, so inside src folder create two files named:

.env
.env.development.local

Inside .env place your base api url, this is the one that netlify will use in production. While in .env.development.local place the local api url, in my case it was on port 4000. For more information you can checkout backend usage here.

Be sure to name your variables as REACT_APP_YOURNAME to follow the convention described in React Documentation: https://create-react-app.dev/docs/adding-custom-environment-variables/.

This environment variable will be used on the following file

 src/config/axios.js

Once you set up all of this, you should have your api data inside the context provider:

src/context/WorkshopsProvider.jsx

If you follow all the instructions you should be all set up. Each document contains its own proptype, so dont' worry for data types.

Next features

This Web App is still in development, maybe for the next 3 months. The future features are the following:

  • Eventbrite API for fetching workshops data and so we can turn Eventbrite the central dashboard
  • Youtube API for fetching data from this channel in order to display workshops recorded sessions inside the page.
  • Github Scrapping to get members profile info.(Easier for what I need than Github API)
  • Have a section for all of the bootcampers to upload their project and make a community project gallery.
  • Implement NextJS to enable server side rendering (Important if we want to scale it)

Credits

I do not own any of the images on this project, all credits to the corresponding owners. forthebadge forthebadge forthebadge

algorithmicclubgdafullstack's People

Contributors

s4nd1x avatar

Watchers

James Cloos avatar  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.