Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

138 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Full Stack Courses Application

This is a personal project to learn about frontend development with React and backend development with NodeJS and Express.

Full Stack application to manage courses using the PERN stack:

  • PostgreSQL for the database
  • Express for the backend server
  • React for the frontend
  • Node.js for runtime

🧠 Overview

Server side: REST API with Node.js, Express & Sequelize (PostgreSQL)

REST API to manage courses — it supports full CRUD:

  • Create new courses
  • Read existing courses (get all or by ID)
  • Update existing courses
  • Delete courses

Client side: React app created using Vite

For now, the frontend client shows all courses and allows searching by ID.

Courses list


⚙️ Prerequisites


🚀 Setup Instructions

1️⃣ Clone the repository

git clone git@github.com:WarioNeila86/courses-fullstack-application.git
cd courses-fullstack-application

2️⃣ Install dependencies

npm install

3️⃣ Configure the database

  • Create PostgreSQL DB user
    • Windows:
      psql -U postgres
      CREATE USER "db-user" PASSWORD 'db-password' CREATEDB;
    • Linux:
      sudo -u postgres psql -c "CREATE USER \"db-user\" PASSWORD 'db-password' CREATEDB;"

4️⃣ Create the .env file

  • Create a .env file in the root directory and add the following variables:
    DB_DEVELOPMENT_USERNAME=db-user
    DB_DEVELOPMENT_PASSWORD=db-password
    

5️⃣ Create and seed the database

npm run db-setup

6️⃣ Start the application

  • Start the app: npm run start
  • Start the server: npm run server-start - server can be accessed on http://localhost:4000/
  • Start the server in development mode (it will automatically restart after changes are made): npm run server-start-dev
  • Start the client: npm run client-run-dev - client can be accessed on http://localhost:3000/
  • After starting the server, Swagger documentation can be accessed on http://localhost:4000/api/docs/

7️⃣ Run tests

npm test

📌 Sources

About

Full Stack Courses application using PERN stack

Topics

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Contributors

Languages