- 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 greenCode
button above.
Assuming you also have Node.js installed,
npm install
to download all the dependencies.
Assuming you have Postgres installed,
npx sequelize init
to 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:migrate
which will translate the migrations into tables in the database - run
npx sequelize db:seed:all
to add the dummy data (this won't overwrite anything, it'll only add data).npx sequelize db:seed:undo:all
to undo. Read the txt file in database/ for more information.
Now that the database works,
npm run build
to bundle the javascript and HTML. (Don't touch the build folder)npm start
to start the application.- Visit
localhost
in 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).