An online forum for students.
View Demo
Table of Contents
My motivation for building Acaply was to primarily understand the interactions between the server side and client side portions of a feature-dense application.
The most challenging aspect of the project was handling user authentication and managing user sessions. I learned how to setup secure signup, login, session, and password reset features. In addition, with the help of mongoose and bcrpyt, I also understood how to store user data and hash account passwords.
- Server: Node.js/Express, Javascript, Mongoose
- UI: HTML, CSS, EJS.
- Database: MongoDB
- Other: SendGrid, Vercel, MongoDB Atlas
Live Demo
To get a local copy up and running follow these steps.
-
NPM is required to run this project.
npm install npm@latest -g
-
Create a free MongoDB database using Atlas.
- Clone the repo
git clone https://github.com/pillious/Acaply.git
- Install NPM packages
cd Acaply npm install - Create a
.envfile inside the root directory. - Add environment variables to
.env* Randomly generate encryption keyDATABASE_USERNAME=[your_mongodb_atlas_username] DATABASE_PASSWORD=[your_mongodb_atlas_password] USER_SESSION_KEY=[encryption_key*] SENDGRID_API_KEY=[your_sendgrid_api_key] RESET_PASSWORD_EMAIL_ID=[sendgrid_email_id] - Run the project on
localhost:3000Deploy using Vercelnpm start
Distributed under the MIT License. See LICENSE.txt for more information.
Andrew Lee (pillious) - [email protected]
(My Website)


