https://github.com/antonioalmeida/get-shit-done
Made with @cyrilico and @diogotorres97. Repository to host Web Languages and Technologies' project.
https://github.com/antonioalmeida/get-shit-done
feup ltw php sass web
Last synced: about 2 months ago
JSON representation
Made with @cyrilico and @diogotorres97. Repository to host Web Languages and Technologies' project.
- Host: GitHub
- URL: https://github.com/antonioalmeida/get-shit-done
- Owner: antonioalmeida
- Created: 2017-10-18T16:11:27.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2020-04-18T00:13:31.000Z (about 6 years ago)
- Last Synced: 2025-10-08T22:52:21.425Z (9 months ago)
- Topics: feup, ltw, php, sass, web
- Language: TSQL
- Homepage:
- Size: 17.2 MB
- Stars: 2
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# get-shit-done
Work done for a subject in Web Languages and Technologies [LTW] in MIEIC @FEUP, in collaboration with [@cyrilico](https://github.com/cyrilico) and [@diogotorres97](https://github.com/diogotorres97).
## Goal
Create a web application where users can [store and share to-do lists](https://web.fe.up.pt/~arestivo/page/courses/2017/ltw/project/).
## Features
### Users
* Profile (visualization and edit)
* Authentication
### Lists
* Create new lists
* Manage your lists
* Share ownership
### Items / Tasks
* Create new items
* Manage your items (set as completed, update priority, assign users...)
### Others
* URIs to store the profile pics
* Advanced lists, users and items search capabilities
* Web attacks prevention (XSS, SQL injection, Path Traversal, Bcrypt,Session Fixation, etc)
## Technologies
* SQLITE database where data about users and to-do lists is stored;
* Sass as a CSS preprocessor;
* PHP as an intermediate bridge between the webpages and the data from the database;
* Javascript/AJAX to enhance the user experience.
## Gallery
| [
](/res/mainPage.png) | [
](/res/profilePage.png) | [
](/res/listsPage.png) |
|:---:|:---:|:---:|
| Home Page | User Profile | Lists Page |
| [
](/res/itemPage.png) | [
](/res/discoverPage.png) | [
](/res/sharePage.png) |
|:---:|:---:|:---:|
| Items Page | Discover Page | Share Page |
## Install development environment
Requirements:
* PHP
* [NodeJS](https://nodejs.org/en/)
Do the following inside of '/project1':
```shell
# install grunt globally
$ npm install -g grunt-cli
# install other dependencies
$ npm install
# run Grunt to compile Sass files:
$ grunt
# run server
$ php -S localhost:8080
```
### Demo users
Username | Password
--- | ---
cyrilico | piroxenas@99
diogotorres97 | caloiras@99
antonioalmeida | randompassword@99
hdicty0 | jk=j?Nw7)E
dshama1 | PO0JhceYz29;
yipsgrave2 | Jhp/UsuR#mF9c
wstolberger3 | 5Dxb*XZE9CcReasWT=MlRlB@zVt66M
zdowney4 | u5WtV7=up1yVAw1a;CEH?s_FGhI54
ctinman5 | Zy5%S!vRM3@t0
__Disclaimer__: Session ID regeneration is implemented. However, the required configuration doesn't work on local servers, so the functionality is disabled by default. To activate it, uncomment `session.php:7`. It works when hosted properly (for example on `gnomo.fe.up.pt`)
### Used libraries
- [FontAwesome](fontawesome.com) - icons
- [Sass](http://sass-lang.com/) - used to properly structure CSS by taking use of its core features, mostly by using variables and nesting (no need to compile it to run, resulting css file is already included and linked)
### Other Resources
- Animated checkbox based on https://codepen.io/daniandl/pen/OgbXzK
- Animated material board shadow based on https://codepen.io/sdthornton/pen/wBZdXq
- Buttons and typography sizes based on https://milligram.io/%