Wannabelieve is a web app to discover amazing paranormal and supernatural phenomena and creating routes for visiting them and report new sightings.
- Technologies: MongoDB, Express, Node.js, JavaScript, ES6, HTML5, CSS3 and SASS.
- Status: β Updated and ready for deployment
- Node.js 18+
- npm 8+
- MongoDB database (local or cloud)
- Clone the repository
- Install dependencies:
npm install - Create a
.envfile (see Environment Variables below) - Start development server:
npm run devorpm2 start ecosystem.config.cjs
- Install Vercel CLI:
npm i -g vercel - Have a Vercel account (sign up here)
-
Login to Vercel:
vercel login
-
Initialize Vercel project:
vercel
Follow the prompts to set up your project.
-
Get your project details (needed for GitHub Actions):
- Vercel Token: Found in your Vercel account settings
- Org ID: Found in your Vercel account settings
- Project ID: Found in your project settings
-
Add GitHub Secrets: Go to your GitHub repository β Settings β Secrets and variables β Actions, and add:
VERCEL_TOKEN: Your Vercel authentication tokenVERCEL_ORG_ID: Your Vercel organization IDVERCEL_PROJECT_ID: Your Vercel project ID
-
Deploy automatically:
# Create and push a version tag git tag v1.0.0 git push origin v1.0.0GitHub Actions will automatically deploy to Vercel!
-
Alternative: Create a GitHub Release:
- Go to your repository β Releases β Create a new release
- Choose a tag or create a new one
- Publish the release
- Automatic deployment to Vercel
# Deploy to preview
vercel
# Deploy to production
vercel --prodSet these in your Vercel project settings:
DBURL: Your MongoDB connection stringNODE_ENV: Set toproductionGOOGLE_MAPS_API_KEY: Your Google Maps API Key- Any other environment variables your app needs
- Update version in
package.json - Commit and push the version change
- Create and push tag that matches the version
- Automatic deployment to Vercel
# 1. Update package.json version
# Change "version": "1.0.2" to "version": "1.0.3"
# 2. Commit version change
git add package.json
git commit -m "release: v1.0.3"
git push origin master
# 3. Create and push tag
git tag v1.0.3
git push origin v1.0.3
# 4. GitHub Actions automatically deploys to Vercel! π- Use semantic versioning:
MAJOR.MINOR.PATCH - Examples:
v1.0.0,v1.2.3,v2.0.0 - Tag must start with
vto trigger deployment
Create a .env file in your project root duplicating the .example.env file.
DBURL- MongoDB connection stringSECRET- Random string for session encryptionGOOGLE_MAPS_API_KEY- Google Maps API key
- OAuth credentials for social login
- Cloudinary for image uploads
wannabelieve/
βββ api/ # Vercel API handlers
βββ bin/ # Server startup files
βββ config/ # Configuration files
βββ middlewares/ # Express middlewares
βββ models/ # MongoDB models
βββ passport/ # Authentication strategies
βββ public/ # Static assets
βββ routes/ # Express routes
βββ views/ # Handlebars templates
βββ app.js # Main Express app
βββ vercel.json # Vercel configuration
βββ package.json # Dependencies and scripts
- User profile management
- Edit details, username, email, profile picture
- Add caption and description
- View latest phenomena
- Add to favorites
- Register visits with geolocation
- Leave community comments
- View phenomena worldwide
- Filter by type
- Post new phenomena
- Upload up to 4 images
- View latest routes
- Create new routes
- Community comments
Get all phenomena
GET /api/getAllPhenomena
Get phenomena by type
π¦
GET /api/getFantasticAnimalsπ¦GET /api/getSeaCreaturesπΎGET /api/getExtraterrestrialsπ½GET /api/getUfosπ»GET /api/getGhostsπ©GET /api/getWeirdStuffππ»GET /api/getPsychophoniesπ§GET /api/getParanormalπΎGET /api/getSignalsπ§ββοΈGET /api/getHalfHumanβͺοΈGET /api/getReligiousApparitionsπGET /api/getNaturalPhenomenaπGET /api/getUnclassified
-
SASS Compilation Errors
- Ensure all SASS files use tabs (not spaces) for indentation
- Check for deprecated SASS functions
-
MongoDB Connection Issues
- Verify your connection string
- Check if MongoDB is running (for local development)
- Ensure network access (for cloud databases)
-
OAuth Errors
- Verify OAuth credentials in environment variables
- Check callback URLs in OAuth provider settings
MIT License - see LICENSE file for details
Coded with love
- π¦ anΓ¦strada
- π§ Teresa Romero