Skip to content

Repository files navigation

Documentation


Database ERD

The database is simple, for it reflects the complexity of the data generated by the user.

Database ERD


Architecture

This application has a three layer architecture - the classic Model-View-Controller (MVC)

Model

The models are in the /src/models/ folder. Hold the data in a Object Oriented way. This allows for a more intuitive way of accessing the data that is in the Model.

View

The views are in the /public/views/ folder. My vies are classic HTML files. These HTML use server side rendering as well as client side rendering to optimize the performance of the website.

Anything that is needed for the views, such as CSS or JavaScript is located in the /public/ folder.

Controller

The controllers are in the /src/controllers/ folder. They are responsible for getting the needed data from the database via their Repository. This Repository presents the data in the Model. Finally the controller transforms the data if needed and passes the data to the View.

Additionally

Additionally, I have added in the /src/repository/ folder classes that are responsible for querying the database. After such an action this class transforms the data in to a model and returns that model.


Technology Stack

Layer Technology
Fronend HTML, CSS, JavaScript, Server Side and Client Side page generation
Backend PHP
Database PostgreSQL
Auth PHP built in SESSION, bcrypt functions
Containerization docker
Configuration .env

Screen Shots

Login Page

Login Page

Register Page

Register Page

Home Page

Home Page

Editor Page

Editor Page

Overview Page

Overview Page

Community Page

Community Page


How to Execute the Program?

To execute the program you must first prepare the .env file.

# These variable are responsible for the connection to the database.
DB_USERNAME = 
DB_PASSWORD = 
DB_HOST     =
DB_DATABASE = 
DB_PORT     = 

# This variable is responsible for the number of users that will be presented to the admin of the website on his dashboard.
LIMIT = 

After configuring the .env file you must execute the following command and docker will handle everything.

docker compose up -d

Finally wait for a minute or two for everything to properly load, then you can do to localhost:8080/login and view the website.


Checklist

  • DOKUMENTACJA W README.MD
  • ARCHITEKTURA APLIKACJI MVC/ FRONT-BACKEND, INNA
  • KOD NAPISANY OBIEKTOWO (CZĘŚĆ BACKENDOWA)
  • GIT
  • REALIZACJA TEMATU
  • HTML
  • POSTGRESQL
  • ZŁOŻONOŚĆ BAZY DANYCH
  • DIAGRAM ERD
  • EKSPORT BAZY DO PLIKU .SQL
  • WIDOKI, WYZWALACZE, FUNKCJE, TRANSAKCJE
  • PHP
  • JAVASCRIPT
  • FETCH API (AJAX)
  • DESIGN
  • RESPONSYWNOŚĆ
  • LOGOWANIE
  • SESJA UŻYTKOWNIKA
  • WYLOGOWYWANIE
  • UPRAWNIENIA UŻYTKOWNIKÓW
  • ROLE UŻYTKOWNIKÓW - CO NAJMNIEJ DWIE
  • AKCJE NA REFERENCJACH
  • BEZPIECZEŃSTWO
  • BRAK REPLIKACJI KODU

DONE 23/24


Additionally

  • Singleton,
  • .env file,
  • python script that generates PHP classes based on the constructor,
  • database level email reuse verification,
  • 404 and 500 error handling,

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages