RC Projects is an application used to showcase the projects you're working on at the Recurse Center!
Projects have tags which allow Recursers to filter projects by their interests and find opportunities to pair, receive a code review, and more!
Live Link ❗ This application requires a Recurse Center account in order to authorize.
If you are not a member of the Recurse Center or do not with to authorize access to your RC data, you can view a live demo version!
RC Projects is a collaboration by Artur and Amanda to learn more about building MERN stack applcations.
The back-end is built with Node, Express, and MongoDB.
The front-end is built with React, TypeScript, Material-UI, and React Query.
Authentication is handled with OAuth2 and the Recurse Center API. You must authenticate through the RC API in order to receive access to this application. User information and identification gathered from RC's API.
In order to run this application locally, you MUST be a member of the Recurse Center as this application uses the Recurse Center API.
- Clone the repository to your local machine.
git clone git@github.com:ArtSze/rc-prjkt.git
cd rc-prjkt
- Create a
.env
file and populate all of the required variables.
cp conf.env .env
-
In order to run this application locally, you will need these variables:
- Recurse Center OAuth ID and Secret. Follow the RC documentation to generate these variables.
DEVELOPMENT_RC_AUTH_ID DEVELOPMENT_RC_AUTH_SECRET
- A randomly generated secret for express sessions.
SESSION_SECRET
- A MongoDB Atlas account and URI. Documentation to generate a URI can be found here.
TEST_MONGO_URI= DEVELOPMENT_MONGO_URI=
- Development environment URLs (i.e.
http://localhost:4000
)
TEST_CLIENT_URL= DEVELOPMENT_CLIENT_URL= DEVELOPMENT_SERVER_URL=
-
Run
yarn
to install the dependencies. -
Start the client and development servers.
-
The back-end supports serving the client assets. To run on the same port:
yarn build:client yarn dev
-
Otherwise, start both the client and development server:
- Update the
baseUrl
in/client/src/utils/axiosInstance.ts
to match yourDEVELOPMENT_SERVER_URL
and add/api
Example:
export const baseURL = 'http://localhost:4000/api';
- Start the client server:
cd client && yarn start
- Start the development server:
yarn dev
- Update the