- Node.js - (https://nodejs.org/en/download)
- Postgres - (https://postgresapp.com/) <- macOS link, for Windows, search up a tutorial...
git clone <link>to clone the repo get the link from the greenCodebutton above.
Assuming you also have Node.js installed,
npm installto download all the dependencies.
Assuming you have Postgres installed,
npx sequelize initto create the config folder, (DO NOT USE--force)- then run
createuser <username> - then run
createdb <database-name> -O <username> - In config/database.json, change "username" to the username used in the above commands.
- Change "database" to the name you gave to the database.
- Change "dialect" to "postgres"
- The models are already made, run
npx sequelize db:migratewhich will translate the migrations into tables in the database - run
npx sequelize db:seed:allto add the dummy data (this won't overwrite anything, it'll only add data).npx sequelize db:seed:undo:allto undo. Read the txt file in database/ for more information.
Now that the database works,
npm run buildto bundle the javascript and HTML. (Don't touch the build folder)npm startto start the application.- Visit
localhostin your browser.
When making changes to the backend, restart the server for them to work.
Account creation can only be done through a link sent to an exec of a club or a staff member. Users are not encouraged to share accounts.
Users will create clubs and be able to edit them from the account dashboard. Other users can be allowed to edit clubs by anyone who has those permissions. Users can remove themselves from clubs and admin accounts (staff).
Posts are tied to clubs and any account which has access to a club can edit its posts.
Events are also tied to clubs and any account which has access to the club and edit its events. Events will show up on the event calendar on the home page. There will also be events that are related to the school and those will be made by admin accounts (staff).