Skip to content

HackGT/projectideas-onboarding

Repository files navigation

HackGT Tech Onboardnig

Welcome to the HackGT tech onboarding project. This will serve as an introduction to TypeScript/JavaScript, Node.js, MongoDB, and React. You'll be making a Project Ideas dashboard! You can see a demo @ https://ideas.dev.hack.gt.

This README has the following sections:

Please follow the installation instructions in order, since later tools may depend on installing previous tools first.

Installation

Xcode Command-Line Tools

If you're on macOS, you will need to install Xcode Command-Line tools first. This is a setup of basic development tools and utilities you'll need first. Be warned that it can take a while to install. You can install it by running xcode-select --install.

Homebrew

If you're on macOS or Linux, you should first install Homebrew. It's essentially a package manager for your computer (you'll need it to install tools like MongoDB).

Here are the installation instructions. Test that its installed by typing in brew --version

Node.js and npm

You can download Node.js here. Select the button saying "Recommended For Most Users".

npm stands for Node Package Manager, though it's name is confusing since it can also be used on the frontend. npm is automatically distributed with Node.js.

To check that you have Node and npm installed, run these commands in your terminal.

  • node -v
  • npm -v

If these commands return a number like v12.18.1 you're good to go.

yarn

To install Yarn, go here. After installing, test that it's installed by running yarn --version.

MongoDB

Here are the installation instructions for MongoDB Community Edition. Check that it's installed by running mongo --version.

MongoDB Compass

MongoDB Compass is a GUI for your database that allows you to easily interact with it and view data. Download it here

VSCode

The easiest code editor to get started with is VSCode. Please don't use Sublime :). You can download it here.

Postman

Postman is an app that allows you to test your backend code by sending different types of requests. You can download it here.

Learning Links

On most coding projects, you'll likely be using a wide number of tools, frameworks, and languages, and you'll constantly be learning new ones as projects rise and fall in popularity. As such, here are some cool resources to help you learn the tools we use at HackGT.

JavaScript and TypeScript

React

Node.js and Express.js

MongoDB and Mongoose

Setup

Git

When developing this onboarding project, please make a new branch with your first name, and use that branch for development. For example, make a branch with git branch rahul, and check it out with git checkout rahul. As you make commits, you can push to the repo with git push.

Important Please do not push any commits on the main branch, only push commits on your specific branch!

Overview

The code for this project is split up between the client and server folders (ie frontend and backend). Before reading below, please open up Terminal (on Mac) or Command Prompt (on Windows) and navigate to this folder. If you've never used the command line before, look at this quick cheat sheet.

Important In total, you will need 3 different terminal windows/tabs to run all the code. One to run the MongoDB database, one to run the backend, and one to run the frontend.

Database - Getting Started

If you're on Windows, follow this step to start your MongoDB server.

  1. In the terminal window, type mongo to start the MongoDB database. This creates a local database instance on your computer.

If you're on Mac, you can get it started with brew services.

  1. Visit the docs here

Backend - Getting Started

Before getting started, make sure to get the environment variables from your tech director and place them in a file called .env in the /server folder. Otherwise, you won't be able to run your code!

In a different terminal window/tab, complete the following steps.

  1. cd server (Navigate to server folder)
  2. yarn install (Install dependencies from package manager)
  3. yarn dev (Start backend dev server)

Navigate to localhost:3000 to see the backend server.

Frontend - Getting Started

Important Please start your backend server before starting your frontend one, as the code uses a proxy to send your requests between the client and server.

  1. cd client (Navigate to client folder)
  2. yarn install (Install dependencies from package manager)
  3. yarn start (Start frontend dev server)
  4. When the prompt says Something is already running on port 3000 etc, type y to continue

Navigate to localhost:3001 to see the frontend server.

About

HexLabs 2022 Onboarding Project

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •