Skip to content

Car1osGarcia/platform

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

alt text

Platform

Index

  1. Introduction
  2. Workspaces
  3. Setting environment variables
  4. Scripts
  5. Recommended resources
  6. README of the different projects

1. Introduction 🚀

Welcome to the Core Code 'Platform' repository. Before you can start the repository local, it is necessary to perform certain configurations for its use. In addition, we would like provide you with some resources to help you better understand each part of the process. We hope you can enjoy and learn a lot from this repository, whose main purpose is to provide a real work experience to our graduates in the development world.

2. Workspaces

Since version 7, npm has support for "workspace", which makes it much easier to development process. An example of this is unification when installing dependencies. Previously, if multiple project folders were used in a repository, you had to install the folder dependencies per project folder:

    npm install

With this unification, it is only necessary to do the installation once in the main project, using one package.json file that unifies everything, without removing the individual package.json file from each project. this also applies to scripts.

En nuestros espacios de trabajo, tendremos 3 proyectos:

  • api: general backend of the platform with different paths for each frontend:
    • endpoint for each frontend with different functionalities and validation of permissions and roles.
    • data centralization (DB).
    • connection with the different APIs to use:
      • Google Calendar (Google API).
      • WhatsApp (Meta for Developers).
      • Slack (Slack API).
  • student-app: frontend for students of the platform. Among its main functions will be:
    • sign Up and log In of new applicants.
    • Information validation:
      • Phone using WhatsApp verification code.
      • GitHub authentication to get user and be able to invite to course repositories.
      • LinkedIn.
    • Centralized Teaching Dashboard:
      • States of the current process.
      • Attendance information and event schedules on Zoom and Google Calendar.
      • Generalized information of the enrolled course.
  • management-app: frontend for the administrative part. functions:
    • Creation of new courses.
    • System of roles and permissions for the different types of accounts.
    • Dashboard for the administration of the different APIs and generated courses.

3. Setting environment variables

In each project, you need an .env file. Here we will leave records of the name of these variables for each project individually:

student-app:

    PORT=3500

management-app:

    PORT=4000

api:

  • Variable necessary for all configurations of the api project more details of everything in its README
    #Server configurations
    SERVER_PORT=3001
    SERVER_MODE=
    SERVER_DEVELOPMENT_FIRST_NAME=
    SERVER_DEVELOPMENT_LAST_NAME=
    SERVER_DEVELOPMENT_COUNTRY=
    SERVER_DEVELOPMENT_EMAIL=
    SERVER_DEVELOPMENT_PASSWORD=
    SERVER_DEVELOPMENT_PHONE=
    SERVER_DEVELOPMENT_SLACK_ID=
    #Database configurations
    SERVER_DB_USER=
    SERVER_DB_PASS=
    SERVER_DB_HOST=
    SERVER_DB_PORT=
    SERVER_DB_NAME=
    #Frontend configurations
    CLIENT_STUDENT_URL=http://localhost:3500
    CLIENT_MANAGEMENT_URL=http://localhost:4000
    #jwt configurations
    JWT_SECRET_KEY_STUDENT=
    JWT_EXPIRES_STUDENT=
    JWT_SECRET_KEY_MANAGEMENT=
    JWT_EXPIRES_MANAGEMENT=
    #nodemailer configurations
    NODE_MAILER_HOST=
    NODE_MAILER_PORT=
    NODE_MAILER_USER=
    NODE_MAILER_PASSWORD=
    #slack configurations
    SLACK_BOT_USER_OAUTH_TOKEN=
    SLACK_APP_LEVEL_TOKEN=
    SERVER_MODE_SLACK=
    #google calendar configurations
    GOOGLE_CLIENT_ID=
    GOOGLE_SECRET_CLIENT=
    GOOGLE_REFRESH_TOKEN=

4. Scripts

        "start:api": "npm run start --workspace=api",
        "dev:api": "npm run dev --workspace=api",
        "start:student": "npm run start --workspace=student-app",
        "build:student": "npm run build --workspace=student-app",
        "start:management": "npm run start --workspace=management-app",
        "build:management": "npm run build --workspace=management-app"

5. Recommended resources

Here workspaces

6. README of the different projects

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • JavaScript 84.9%
  • CSS 14.2%
  • HTML 0.9%