The Repository for Finvest REST API Made With NodeJS, TypeScript, Express and MongoDB
View Demo
·
Report Bug
·
Request Feature
This is a REST API of Finvest app which allows a user to interact with all the data needed to track, manage and improve his financial habits to the best.
1- Clone the repository to your local machine and cd to it
git clone https://github.com/z-sohaib/junctionx-algiers-backend
cd junctionx-algiers-backend
2- Install the project dependencies
npm install
Or
yarn install
Or simply
yarn
3- Launch the development server of the project
npm run dev
Or
yarn dev
You can find below the followed structure in the project development
/src
--> /config # Define your configuration for the different additions to the project (For example Firebase setup).
--> /controllers # Define your controllers that contains handlers of the different routes.
--> /middlewares # Define custom middlewares that will be used whenever a request is sent.
--> /models # Define your database models.
--> /routes # Define your application routes.
--> /services # Define the business logic layer functions that your route handlers need.
--> /utils # Define custom functions that serve specific services such as JWT generation.
--> /utils # Define custom functions that serve types/properties validation.
.env # Define your project environment variables
.gitignore # Define which files and folders Git should ignore
app.ts # The root file of the project
package.json # Define the node project's configuration
typescript.json # Define the typescript configuration object
To run this project, you will need to add the following environment variables to your .env file
PORT
=> Port to use for the application
DB_URI
=> MongoDB Database URI
email
=> The email to use for sending mails
emailpassword
=> The used email's application password to get access
private_key
=> Private key of Firebase SDK Firebase config
private_key_id
=> The id of the mentioned key above
OauthSecret
=> Oauth code to use for Google OAuth
If you have any feedback, please reach out to us at [email protected]