For all of your dating needs
Disclaimer This is a project for fun only, no monetization allowed (Not now at least)
This frontend part of the project uses the React.js with Typescript. Other than that, we have:
- Redux Thunk (For state management)
- Material UI (For the Google's fancy UI components)
- React spring (For making bouncy animations)
- Next.js (I'll think about it)
|--api (Holds the API callers and methods)
|
|--components (Stores all the components that can be reused throughout the app)
|
|--contexts (Using React context to globally provide effects and states to the app)
|
|--hoc (Refer to this doc: https://reactjs.org/docs/higher-order-components.html)
|
|--pages (Holds the main components of every page defined in App.tsx)
|
|--types (Exports all the types for Typescript)
|
|--App.tsx (The top order component that defines the routes and pages)
Folders | Guide |
---|---|
api |
In here you declare the methods to do API requests which return responses. Export the methods so developers can import them from another file to request the API without having to write up a long sequence of code, again. For example: files auth.ts and user.ts have names representing the APIendpoint /auth/** and /user/** . Having being named like this, developerswill locate the method they need to use faster. Developers can import loginWithUsername in their working file to request that specific API |
components |
You should store your components in the same pages subfolder that you'reworking on. But if there is, for example, an input field that may be used again somewhere in the app, create and export it from this folder |
contexts |
This folder holds the context and its provider which can be imported to wrap around the component you wish to provide the context For example: The AuthContext.tsx stores the authentication logic that exports<AuthProvider> to wrap around the <App> in index.tsx in order to provide allof the authentication effects to the app |
hoc |
This folder contains React HOCs which can be used to create Layout for the app |
pages |
These components are the entry points for the pages and routes defined in App.tsx |
types |
Type definitions for working with Typescript |
- Create an .env file at root following .env.template (Skip this one if you're running BE locally)
- Do
yarn install
- Do
yarn start
- username: 'adenhall'
- password: '123'
- Add distance meter between users
- Sessions and token storage
- Full matchmaking