Univers-it is a social network inspired by:
Developed by:
The project was assigned for the "web technologies" course with the following requirements:
- Design: max 3 pts
- Registration/Login: max 3 pts
- Feed: max 4 pts
- Posts: max 3 pts
- Comments: max 3 pts
- Follow: max 3 pts
- User page: max 4 pts
- Notifications: max 5 pts
- Extra: max 4 pts
As stated before, only university students will be able to register to the website.
This will be enforced at registration time forcing the user to use an istitutional email, we currently accept the following ones:
- University of Bologna:
@studio.unibo.it
- University of Trento:
@studenti.unitn.it
The registration process includes a verification email.
Once a user logs in he'll be shown the latest posts from users and groups that he follows.
A user who is not logged in can only see some random posts without the possibility to react or comment to it.
Users can post only inside a group.
Posts are made of:
- Title
- Description (optional)
- Image (Optional)
Users can comments posts from the post's page, each comment can be a reply to a previous one.
Users can follow other users and groups. Posts in followed groups and from followed users are shown in the feed.
From this page users will be able to:
- See all the posts of a user.
- Follow the user.
- See all the followers of the user.
- See all the users that the user is following.
The application will send notifications to its users for the following events:
- New post from a followed user.
- New comment under a post.
- New follower.
- New reaction to a post. Each notification will both be shown in the website and be sent as an email (if selected by the user).
We decided to add the following things that were not in the assignment:
Groups
: a place where users can post.Reactions
: users can like or dislike a post.- Replies to comments.
Toggle email notification
: user's can decide which notifications they want to receive via mail.- Secure password store.
Ajax
Laravel
- Git
- Docker
Clone the repo and open it:
[email protected]:FiloSanza/univers-it.git && cd univers-it
Run:
docker run --rm \
-u "$(id -u):$(id -g)" \
-v $(pwd):/var/www/html \
-w /var/www/html \
laravelsail/php81-composer:latest \
composer install --ignore-platform-reqs
Write you own .env
file (See an example).
You can also copy our with bash cp .env.example .env
Run:
./vendor/bin/sail up
In a new shell run:
docker exec -it univers-it-laravel.test-1 /bin/bash
Inside the container's shell opened in the previous step run:
npm install --save && npm run dev
Go to localhost
in your browser.
To see emails you can use Mailhog
(localhost:8025
).