Skip to content
This repository was archived by the owner on Jan 24, 2025. It is now read-only.

Process-ing/feup-lbaw

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1,265 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ProGram - LBAW2411

Curricular Unit: Database and Web Applications Laboratory - 2024/25 1S
Faculty: FEUP
Professor: Sérgio Nunes
Authors: Bruno Oliveira, Henrique Fernandes, José Sousa, Rodrigo Silva
Grades:
ER Component: 97%
EBD Component: 98%
EAP Component: 98%
PA Component: 93%
Final Grade: 19.2/20

ProGram

ProGram is a social networking platform being developed by a startup which aims to connect programmers with like-minded individuals. The need for a specialized space where technology professionals can connect, collaborate, and share knowledge drives this initiative. By providing an interactive and supportive environment, ProGram seeks to fill this gap within the tech community.

Installation

In order to run the project, it is necessary to login into gitlab.up.pt using docker:

docker login gitlab.up.pt:5050

After that, the project is available by running the following command to download and run the container:

docker run -d --name lbaw2411 -p 8001:80 gitlab.up.pt:5050/lbaw/lbaw2425/lbaw2411

This should make the website available at localhost:8001.

Usage

Administration Credentials

Administration URL: http://localhost:8001/admin

E-mail Password
kherrera@program.com AdminsRule

User Credentials

Type Username Password
User cindyburton@gmail.com ILoveProgram

Password Recovery (Mailtrap)

Mailtrap URL: https://mailtrap.io/inboxes/3327402/messages

Login with the Google account:

E-mail Password
programlbaw@gmail.com programlbaw2411

Real-Time Notifications (Pusher)

Pusher URL: https://dashboard.pusher.com/apps/1909573

Login with the Google account:

E-mail Password
programlbaw@gmail.com programlbaw2411

External API (Postman)

We developed an external API which users can access with a generated token.
The API reference is located here: http://127.0.0.1:8001/apireference. Tokens can be generated from the user settings or by filling this link: http://127.0.0.1:8001/user/{user-id}/token.

To use the API, we provide the following Postman collection: ProGram API

Alternatively, you can use the following Curl command structure to access the API:

curl -X GET "http://localhost:8001/api/<ROUTE>" \
    -H "Authorization: Bearer <ACCESS_TOKEN>"

Learn More

In order to learn more about our project, we encourage you to check the following documents:

Tips and Tricks (for anyone doing a similar project)

  • Some of the professors complained about the delivered (PDF) wikis not having selectable text. This is a problem with the "Print..." action in Firefox. Make sure to use a chromium-based browser (like Google Chrome) to print the wiki pages.
  • For the wiki, you will have to write a lot of markdown, with a lot of tables. I recommend to use a formatter to keep everything in the tables aligned and tidy, like this extension for VSCode. Since the first two deliveries are the ones that require more things in the wiki, probably requiring a lot of collaboration, which is not feasible by using Liveshare alone, it may be wise to write everything in a Notion page and then copy it to the wiki.
  • Most of the diagrams you need to create are not very sophisticated, so the best tool for the job is draw.io. Although we also created our wireframes in draw.io, it was a bit of a hassle, so I recommend using Figma instead.
  • When doing the EBD component, more specifically the conceptual model, I would highly recommend to first make a draft of the model in paper, and then write a sharper version in draw.io by dividing the model into logical parts (classes/relationships related to posts, related to notifications, related to users, ...) and then join them all in the end. The diagram will be much easier to organize, trust me.
  • As we did, it is a good idea to define your website's style in the EAP component. Work a little bit in Figma to decide on the style you'll like (e.g. for the home page), trying to use as little different components as possible, and implement the components in the prototype as separate views. This will make your website's look and feel much more consistent, and you will not have to worry about it later in the PA component.
  • The parts that require the most work are objectively the EAP and PA components. For the PA specifically, try to have all features implemented before the last week. Trust me, you will still need a lot of time to fix HTML/CSS validation errors, usability and accessibility issues, make pages responsive, write the wiki and fix bugs (which will be much more severe than in the EAP component if left untreated!)

Team


GROUP2411, December 2024

About

Project for the LBAW course at FEUP

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages