8 | About MicroDiscount
9 | Hello world 🌍,
10 |
11 | MicroDiscount is a freecentralized place to discover and share quality discounts with the community.
12 |
13 |
14 |
15 | Clifford
16 |
17 | ,{" "}
18 |
19 | Dominic
20 | {" "}
21 | and{" "}
22 |
23 | Rob{" "}
24 |
25 | created this website because they noticed{" "}
26 | there wasn't an easy, simple centralized place to discover discounts online. Whether you're a student in
27 | college seeking a laptop or backpack discount, a teacher needing a software discount to teach their class or
28 | just a hobbyist trying out a new service out, our aim is to empower you.
29 |
30 |
31 | Most other discount websites are crowded with unhelpful ads and content distracting you from easily finding that
32 | discount you need. We are different. Our aim is to be simple and easy to use.
33 |
34 | Would you like to submit a resource?
35 |
36 | We are open to contributions . If you would like to submit a resource, consider clicking the "Add a
37 | Resource" button on this page. Alternatively you can checkout the source code of this website on our github page
38 | here (
39 |
40 | Github Code{" "}
41 |
42 | )
43 |
44 |
45 | );
46 | }
47 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "remix-app-template",
3 | "private": true,
4 | "description": "",
5 | "license": "MIT",
6 | "sideEffects": false,
7 | "scripts": {
8 | "build": "cross-env NODE_ENV=production remix build",
9 | "dev": "remix dev",
10 | "postinstall": "remix setup node",
11 | "lint": "eslint --cache --ext .tsx,.ts,.js,.jsx,.md --fix",
12 | "pretty": "prettier --write . --e",
13 | "preinstall": "npm run setup-env",
14 | "prepare": "husky install",
15 | "seed-db": "node -r ts-node/register ./app/data/convertDataToSupabase.ts",
16 | "seed-db-02": "node -r ts-node/register ./app/data/upload-discounts-02.ts",
17 | "setup-env": "sh ./scripts/check-volta-cli.sh",
18 | "test": "echo RUNNING TEST...TODO need to write tests"
19 | },
20 | "dependencies": {
21 | "@nextui-org/react": "1.0.2-beta.4",
22 | "@remix-run/react": "^1.3.2",
23 | "@remix-run/vercel": "^1.3.2",
24 | "@supabase/supabase-js": "^1.31.1",
25 | "react": "^17.0.2",
26 | "react-dom": "^17.0.2",
27 | "remix": "^1.3.2",
28 | "use-dark-mode": "^2.3.1"
29 | },
30 | "devDependencies": {
31 | "@remix-run/dev": "^1.3.2",
32 | "@remix-run/eslint-config": "^1.3.2",
33 | "@remix-run/serve": "^1.3.2",
34 | "@testing-library/jest-dom": "^5.16.2",
35 | "@testing-library/react": "^12.1.4",
36 | "@types/react": "^17.0.41",
37 | "@types/react-dom": "^17.0.14",
38 | "concurrently": "^7.0.0",
39 | "cross-env": "^7.0.3",
40 | "dotenv": "^16.0.0",
41 | "eslint": "^8.11.0",
42 | "husky": "^7.0.4",
43 | "jest": "^27.5.1",
44 | "lint-staged": "^12.3.7",
45 | "prettier": "^2.6.0",
46 | "sass": "^1.49.9",
47 | "ts-node": "^10.7.0",
48 | "typescript": "^4.6.2"
49 | },
50 | "lint-staged": {
51 | "**/*.{js,tsx,ts,tsx}": [
52 | "sh ./scripts/pretty.sh",
53 | "sh ./scripts/lint.sh",
54 | "npm run test"
55 | ]
56 | },
57 | "engines": {
58 | "node": ">=14"
59 | },
60 | "volta": {
61 | "node": "17.4.0",
62 | "yarn": "1.22.17"
63 | }
64 | }
--------------------------------------------------------------------------------
/docs/getting-started.md:
--------------------------------------------------------------------------------
1 | # Getting Started
2 |
3 | This app was bootstrapped with [`remix-run` fullstack web framework](https://remix.run/docs). If you have ever used a tool like `create-react-app` then the setup & philosophy of this codebase might be familiar to you.
4 |
5 | ## Deployment
6 |
7 | After having run the `create-remix` command and selected "Vercel" as a deployment target, you only need to [import your Git repository](https://vercel.com/new) into Vercel, and it will be deployed.
8 |
9 | If you'd like to avoid using a Git repository, you can also deploy the directory by running [Vercel CLI](https://vercel.com/cli):
10 |
11 | ```sh
12 | npm i -g vercel
13 | vercel
14 | ```
15 |
16 | It is generally recommended to use a Git repository, because future commits will then automatically be deployed by Vercel, through its [Git Integration](https://vercel.com/docs/concepts/git).
17 |
18 | ## Development
19 |
20 | To run your Remix app locally, make sure your project's local dependencies are installed:
21 |
22 | ```sh
23 | npm install
24 | ```
25 |
26 | Afterwards, start the Remix development server like so:
27 |
28 | ```sh
29 | npm run dev
30 | ```
31 |
32 | Open up [http://localhost:3000](http://localhost:3000) and you should be ready to go!
33 |
34 | If you're used to using the `vercel dev` command provided by [Vercel CLI](https://vercel.com/cli) instead, you can also use that, but it's not needed.
35 |
36 | ## Debugging
37 |
38 | If you are using VS Code as your text editor, you can use the builtin break point debugger during development.
39 | To get the application running in debugger mode follow the steps below:
40 |
41 | - ensure you are not running a local server already, if so kill/quit the process
42 | - click the bug icon in your side bar
43 | - click the "Run npm run dev" option in the select dropdown list. This will start start your server in debug mode. Try reloading the homepage and putting a break point inside your `loader` function for example.
44 |
45 | If you are unable to get VS Code debugger working follow this video: https://gist.github.com/kiliman/a9d7c874af03369a1d105a92560d89e9
46 |
--------------------------------------------------------------------------------
/docs/code-architecture.md:
--------------------------------------------------------------------------------
1 | # Code Architecture
2 |
3 | This project is bootstrapped using [remix run's](https://remix.run/) CLI.
4 | Remix is a fullstack reactjs based web framework.
5 |
6 | ## Technology Stack
7 |
8 | **Frontend**
9 |
10 | - [ReactJS](https://beta.reactjs.org/) for the templating/ui rendering language
11 |
12 | **Backend**
13 |
14 | - Under the hood this uses nodeJS server (abstracted by `remix-run`).
15 |
16 | **Frontend & Backend**
17 |
18 | - both the frontend and backend use `remix-run`
19 | - [TypeScript](https://www.typescriptlang.org/) is used for both the language on the frontend & backend of this app.
20 |
21 | ## Hosting
22 |
23 | - code is hosted on [vercel](https://vercel.com/)
24 |
25 | ## Folders
26 |
27 | - `/api`
28 | - generated by `remix-run`
29 | - ....
30 | - `/app`
31 | - generated by `remix-run`.
32 | - This is where the application code lives. Both the frontend and backend live in this folder. `remix-run` may be unlike any other framework you've used, where you might have a server running with some endpoints and then the frontend code living separately making API calls to the server. Remix abstracts this for you. Our server and clientside code is co-located and its really awesome.
33 | - `/docs`
34 | - place to put any general documentation or indepth explanations of things.
35 | - `/public`
36 | - generated by `remix-run`. You will typically never interact with this folder. This is where Remix outputs the production of this code.
37 | - `/scripts`
38 | - general scripts to run, typically things for starting up the project, checking user's enviornment deploying or building code.
39 |
40 | ## General Thoughts
41 |
42 | - This website is simple in nature, and is mostly a static static data site; we use cache headers to simulate a static website.
43 | - All content is server side rendered, which is nice for SEO and we get for free using Remix without thinking about it.
44 |
45 | ## Resources
46 |
47 | - [`remix-run` YouTube Channel](https://www.youtube.com/channel/UC_9cztXyAZCli9Cky6NWWwQ)
48 | - [`remix-run` documentation](https://remix.run/)
49 | - [reactjs docs](https://beta.reactjs.org/)
50 | - [vercel](https://vercel.com/)
51 |
--------------------------------------------------------------------------------
/public/icons/logo-buninux.svg:
--------------------------------------------------------------------------------
1 |