Install & configure system dependencies
npm install --global yarn
At your selected folder, clone the repository
git clone https://github.com/appjusto/website.git
Go to project's folder and install all dependecies
cd <project_folder>/frontend
yarn
This application uses different firebase projects and configures development environments.For this, two files ('.env-cmdrc.json' and 'next.config.js') must be created to configure and use current and external firebase project for dev, staging and live environments:
{
"current": {
"FIREBASE_API_KEY": "",
"FIREBASE_AUTH_DOMAIN": "",
"FIREBASE_PROJECT_ID": "",
"FIREBASE_STORAGE_BUCKET": "",
"FIREBASE_MESSAGING_SENDER_ID": "",
"FIREBASE_APP_ID": "",
"FIREBASE_MEASUREMENT_ID": ""
},
"community": {
"EXTERNAL_FIREBASE_API_KEY": "",
"EXTERNAL_FIREBASE_AUTH_DOMAIN": "",
"EXTERNAL_FIREBASE_PROJECT_ID": "",
"FIREBASE_STORAGE_BUCKET": "",
"EXTERNAL_FIREBASE_MESSAGING_SENDER_ID": "",
"EXTERNAL_FIREBASE_APP_ID": "",
"EXTERNAL_FIREBASE_MEASUREMENT_ID": ""
},
"dev": {
"EXTERNAL_FIREBASE_API_KEY": "",
"EXTERNAL_FIREBASE_AUTH_DOMAIN": "",
"EXTERNAL_FIREBASE_PROJECT_ID": "",
"FIREBASE_STORAGE_BUCKET": "",
"EXTERNAL_FIREBASE_MESSAGING_SENDER_ID": "",
"EXTERNAL_FIREBASE_APP_ID": "",
"EXTERNAL_FIREBASE_MEASUREMENT_ID": ""
},
"staging": {
"EXTERNAL_FIREBASE_API_KEY": "",
"EXTERNAL_FIREBASE_AUTH_DOMAIN": "",
"EXTERNAL_FIREBASE_PROJECT_ID": "",
"FIREBASE_STORAGE_BUCKET": "",
"EXTERNAL_FIREBASE_MESSAGING_SENDER_ID": "",
"EXTERNAL_FIREBASE_APP_ID": "",
"EXTERNAL_FIREBASE_MEASUREMENT_ID": ""
},
"live": {
"EXTERNAL_FIREBASE_API_KEY": "",
"EXTERNAL_FIREBASE_AUTH_DOMAIN": "",
"EXTERNAL_FIREBASE_PROJECT_ID": "",
"FIREBASE_STORAGE_BUCKET": "",
"EXTERNAL_FIREBASE_MESSAGING_SENDER_ID": "",
"EXTERNAL_FIREBASE_APP_ID": "",
"EXTERNAL_FIREBASE_MEASUREMENT_ID": ""
}
}
const withImages = require('next-images')
module.exports = withImages({
distDir: "./nextjs",
esModule: true,
env: {
FIREBASE_API_KEY: process.env.FIREBASE_API_KEY,
FIREBASE_AUTH_DOMAIN: process.env.FIREBASE_AUTH_DOMAIN,
FIREBASE_PROJECT_ID: process.env.FIREBASE_PROJECT_ID,
FIREBASE_STORAGE_BUCKET: process.env.FIREBASE_STORAGE_BUCKET,
FIREBASE_MESSAGING_SENDER_ID: process.env.FIREBASE_MESSAGING_SENDER_ID,
FIREBASE_APP_ID: process.env.FIREBASE_APP_ID,
FIREBASE_MEASUREMENT_ID: process.env.FIREBASE_MEASUREMENT_ID,
EXTERNAL_FIREBASE_API_KEY: process.env.EXTERNAL_FIREBASE_API_KEY,
EXTERNAL_FIREBASE_AUTH_DOMAIN: process.env.EXTERNAL_FIREBASE_AUTH_DOMAIN,
EXTERNAL_FIREBASE_PROJECT_ID: process.env.EXTERNAL_FIREBASE_PROJECT_ID,
EXTERNAL_FIREBASE_MESSAGING_SENDER_ID: process.env.EXTERNAL_FIREBASE_MESSAGING_SENDER_ID,
EXTERNAL_FIREBASE_APP_ID: process.env.EXTERNAL_FIREBASE_APP_ID,
EXTERNAL_FIREBASE_MEASUREMENT_ID: process.env.EXTERNAL_FIREBASE_MEASUREMENT_ID,
},
experimental: {
sprFlushToDisk: false,
},
});
Run the project locally
yarn local:community
Open http://localhost:3000 with your browser to see the result.