REPOSITORY OVERVIEWLive repository statistics
★ 2Stars
⑂ 0Forks
◯ 0Open issues
◉ 2Watchers
32/100
OPENREPOHUB HEALTH SIGNALLimited signals
A transparent discovery signal based on current public GitHub metadata.
Recent activity35% weight
10 Community adoption25% weight
5 Maintenance state20% weight
100 License clarity10% weight
0 Project information10% weight
75 This score does not audit code, security, maintainers, documentation quality, or suitability. Verify the repository and its current documentation before adoption.
README preview
About
This repository contains all the client and serverside code, included as git submodules, for my Final Year Project, PWABook, which is a full stack social media progressive web application built using the MERN stack. The frontend application is hosted and deployed on Netlify and can be viewed here. The backend express server has been deployed to Heroku. Alternatively, you can install and run the application on your own machine with the steps outlined below.
Features
- Ability to create an account or sign in through Google Identity Services
- Ability to make, edit and delete your own posts
- Ability to like others' posts
- Ability to install the application on your mobile device
- Utilises precaching and dynamic caching strategies to show posts even while offline
- If a post is edited, liked or deleted while offline, the api request will be queued and executed on resuming internet connection thanks to Background Sync
- Ability to subscribe to push notifications and get notified everytime a new post is made, even with the app closed
Steps to install locally
- Install Node.js v18.6. I recommend using nvm to install and manage your node versions easily.
- Either clone this parent repository or the client and server applications separately. If you chose to clone the parent repository you may notice that the client and server are initially empty due to being git submodules. To fix this, run
git submodule update --init --recursive inside the root of the directory.
- Navigate into the server directory and run
npm install.
- Create a new file called .env and fill it out with your desired environment variables, similar to .env.example. Here you can figure the port which the server runs on and also provide a connection url for your mongodb cloud atlas database. You will also need to generate VAPID keys to fill in the private and public key environment variables. You can do this using an online key generator such as this one
- You can now run the server using
npm start. It should say that the server is running on a port.
- Open a new terminal and navigate to the client directory. Inside of package.json change the url in the
proxy: line to "http://localhost:PORT", replacing PORT with the one you set the server to listen on. Crete a .env file similar to .env.example and fill out the REACT_APP_SERVER_URL = http://localhost:PORT, replacing PORT with the one you set the server. In order to set the REACT_APP_GOOGLE_CLIENT_ID environment variable you will first need to register an OAuth 2.0 Client ID.
- Making sure you're in the root directory of the client, run
npm install to install the project dependencies
- Run
npm run buildandserve to start the client which should automatically open it in your browser for you. If not, copy and paste the url provided in your terminal.
- I advise testing the application in the the latest version of google chrome since other browsers may have limited PWA feature support.
ALGORITHMICALLY RELATEDSimilar Open-Source Projects
Selected from shared topics, language and repository description—not editorial ratings.
CarveLane 🎁 Full-stack e-commerce app for custom laser-cut products. Features OTP auth, cart system, RazorPay payments, and admin panel. Built with Node.js, Express, EJS, and PostgreSQL. My B.Tech final year project powering a real family business.
38/100 healthActive repository
EJSNo license#bcrypt#css#ejs-template-engine#express
⑂ 0 forks◯ 0 issuesUpdated Aug 4, 2025
This code is written in Html, Css, Javascript and Node JS, Express JS
27/100 healthActive repository
CSSNo license
⑂ 0 forks◯ 0 issuesUpdated Mar 15, 2023
FitMatch is a full-stack web application developed for my BSc Computer Science Final Year Project, using HTML, CSS, JavaScript, Node.js, Express, and SQLite.