https://github.com/devbaraus/proffy_server
🚀 Made to connect people who wants to learn more - Back End
https://github.com/devbaraus/proffy_server
heroku nodejs postgres typescript
Last synced: 1 day ago
JSON representation
🚀 Made to connect people who wants to learn more - Back End
- Host: GitHub
- URL: https://github.com/devbaraus/proffy_server
- Owner: devbaraus
- Created: 2020-08-09T12:17:03.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2023-01-11T03:34:38.000Z (over 3 years ago)
- Last Synced: 2023-03-04T01:03:37.343Z (over 3 years ago)
- Topics: heroku, nodejs, postgres, typescript
- Language: TypeScript
- Homepage: https://proffy.baraus.dev
- Size: 813 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 12
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README



---
> :rocket: Project made to connect students to teacher
## Table of contents
- [What is it](#what-is-it)
- [Technologies](#technologies)
- [Features](#features)
- [How to run](#how-to-run)
- [Ambient Variables](#ambient-variables)
- [What are ambient variables](#what-are-ambient-variables)
# What is it
That's project was idealized by [Rocketseat](https://www.rocketseat.com.br) to a marathon called `Next Level Week #2` where they teach, another devs and people that are getting into programming, how to use a stack of development (React JS, React Native and NodeJS).
The idea behind Proffy is to connect people that want to study to people that want to give classes, storing connections.
# Technologies
- TypeScript
- NodeJS
- Knex
- Heroku
- PostgreSQL
- Mailer
- Cloudinary
- JWT
- [Front End](https://github.com/devbaraus/proffy_web) (Another repo)
# Features
- Authentication
- Give many classes as you want
- Each class has it's schedule
- User profile
- Avatar upload
- CRUD classes
# How to run
> If you want you can just live test on: [proffy.baraus.dev](https://proffy.baraus.dev)
- Clone the repository `https://github.com/devbaraus/proffy_server`
- Get in the folder `cd proffy_server`
- Install dependencies `yarn install`
- Run migrations `yarn knex:migrate`
- Run seed`yarn knex:seed` (if your want initial data and don't use if you already have stored data)
- Set ambient variables [Ambient Variables](#ambient-variables)
- Execute script `yarn start`
# Ambient Variables
## What are ambient variables
Ambient variables are variables that are stored in your machine and can be read by applications, it is useful to store secret data, like and API token, and don't want to share your data with other.
For security I used ambient variables so I could share this repository with you!
The ambient variables I used were:
> CLOUDINARY - store images online
- CLOUDINARY_API_KEY
- CLOUDINARY_API_SECRET
- CLOUDINARY_NAME
- CLOUDINARY_URL
> DATABASE - store user infos
- DATABASE_URL
> MAILER - send email
- MAILER_HOST
- MAILER_PASSWORD
- MAILER_USER
> SECRET - used to generate token
- SECRET