SaVaGe Artwork Creator by Bumpy and The Midwives
Colette, Leonie, Francesca, Jan, Sam
After cloning the repo, install dependencies and start the server
git clone https://github.com/fac-17/SaVaGe.git
cd SaVaGe
npm install
npm start
Create a .env file in the root directory and ask our team to provide you with the content for this file.
in your .env add SECRET variable
SECRET=any-word
In the root directory you need the .env
file with PosgreSQL connection URL in a form
DATABASE_URL=postgres://url_to_any_database_you_have_access
then run db build script to create and populate the tables
npm run db_init
In your browser, open localhost:3000
To do tests, you need another db setup with variable TEST_DB_URL
set to testing db url in .env
Then to run all tests (including db and server):
npm test
SaVaGe Artwork Creator is an app that allows the user to create SVGs using different shapes. Once the SVG is created, the user can copy the code to add to his/her html file.
1.) User logs in with username & password 2.) Once logged in, user can create SVGs and create shapes 3.) To create the artwork, the user can select any shape (created by any user) and add it to his/her svgs (only the svgs that he/she created)
All artwork (created by any user) is visible in the gallery. The gallery is alway visible, no matter if the user is logged in or not.
- Connect to travis ?
- Add option to delete shapes
- Add option to delete SVGs
- Edit shapes or SVGS (i.e. data in database)
- Add SELECT text to dropdown menus
- Hash password
- Fix mobile view (login area)
- Testing
- Supertest
- Front-end logic test
- Create account
- Create profile page
- Add comment functionality
- Implement client-side verificaton
- Error message for username
- Error message for password
- Turn nested ifs into promises
- Add user delete functionality
- Client-side and server-side validation on login form, including error handling that provides feedback to users
- Add roles and permissions - Have an "admin" level user (role) who can edit and delete all content scream (permissions)
- Add comment functionality to content
- Add like functionality to content
column | definition |
---|---|
id | SERIAL PRIMARY KEY |
username | VARCHAR(200) NOT NULL |
password | VARCHAR(40) NOT NULL |
column | definition |
---|---|
id | SERIAL PRIMARY KEY |
props | VARCHAR(200) NOT NULL |
name | VARCHAR(40) NOT NULL |
user_id | INTEGER NOT NULL REFERENCES details_login(id) |
column | definition |
---|---|
id | SERIAL PRIMARY KEY |
type | VARCHAR(30) NOT NULL |
name | VARCHAR(40) NOT NULL |
props | VARCHAR(200) NOT NULL |
column | definition |
---|---|
id | SERIAL PRIMARY KEY |
svg_id | INTEGER NOT NULL REFERENCES svg(id) |
shape_id | INTEGER NOT NULL REFERENCES shape(id) |
- Default gitignore created by Github
- Repeat last argument in Command line: ESC .
- SVG structure
- INSERT with parameters to increase security
- Cookies