[Assessment project] Flickr and Vimeo bookmarks manager.
-
Back-end:
- Server: Node, Express, TypeScript
- API: GraphQL, TypeGraphQL, Apollo Server
- Database: MongoDB, Mongoose, Typegoose
- Testing: Jest
-
Front-end:
- Tooling: Expo
- Frameworks: React, React Native, React Navigation
- State management: Redux, Apollo Client for React
- UI: React Native Paper
For debugging purposes, this is the setup used during development:
- MongoDB version: 4.4.1
- Node version: 14.13.1
- TypeScript version: 4.0.3
- You need to have Node installed: https://nodejs.org/en/
- Clone the repo in a local directory:
git clone https://github.com/LeoDupont/booxmarkx.git cd booxmarkx
You need to provide a MongoDB database URI, either to the .env
file, or as a BOOXMARKX_MONGODB_URI
environment variable.
If you don't have a MongoDB database ready, here are two ways to get one:
-
Or setup a local database:
- Install MongoDB Community
- Start up a local database:
Your new MongoDB URI is:
cd back mkdir db npm run db
mongodb://localhost:27017/
By default, the API will listen on port
8080
, but you can override this with theBOOXMARKX_API_PORT
environment variable (or in the.env
file).
-
Create a new file named
.env
, taking the.env-sample
file as a model:cd back cp .env-sample .env
-
Fill the
.env
file with missing info, if any. -
Install, build and start up the API:
cd back npm install npm run start
The API now listens on http://localhost:8080
-
Similarly to the back-end, create a .env file and fill it with missing info:
cd front cp .env-sample .env
-
- You can directly serve the front-end with Expo:
cd front npx expo start
It will open the Expo dashboard, from where you'll be able to either "Run in web browser" or on your Android/iOS device/emulator/simulator.
- Or you can build and serve the front-end for the web:
cd front npx expo build:web npx serve web-build
You can now reach the front-end on http://localhost:5000